(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_punct — 空白、英数字以外の出力可能な文字かどうかを調べる
text
調べる文字列。
注意:
-128 から 255 までの int を渡すと、ひとつの文字の ASCII 値とみなします (負の値には 256 を足して、拡張 ASCII の範囲に収まるようにします)。 それ以外の整数値は、10 進数を含む文字列とみなします。
PHP 8.1.0 以降は、ctype関数 に文字列でない引数を渡すことは、推奨されなくなりました。将来のバージョンでは、引数は ASCII コードポイントではなく、文字列として解釈されるようになります。ユーザが意図する振る舞いによっては、引数を文字列にキャストするか、 chr() を明示的にコールすべきです。
text
のすべての文字が出力可能であり、
かつ文字でも数字でも空白でもなかった場合に
true
、そうでない場合に false
を返します。
空文字列を渡して呼び出した場合、結果は常に false
になります。
例1 ctype_punct() の例
<?php
$strings = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($strings as $testcase) {
if (ctype_punct($testcase)) {
echo "The string $testcase consists of all punctuation.\n";
} else {
echo "The string $testcase does not consist of all punctuation.\n";
}
}
?>
上の例の出力は以下となります。
The string ABasdk!@!$# does not consist of all punctuation. The string !@ # $ does not consist of all punctuation. The string *&$() consists of all punctuation.