英字かどうかを調べる
$text
与えられた文字列 text のすべての文字が 英字であるかどうかを調べます。 標準の C ロケールの場合、文字は [A-Za-z] で、ctype_alpha は $text が一文字のみの場合の (ctype_upper($text) || ctype_lower($text)) と等価です。 しかし、他の言語には大文字でも小文字でもない文字が含まれています。
text
C
[A-Za-z]
(ctype_upper($text) || ctype_lower($text))
調べる文字列。
注意: -128 から 255 までの int を渡すと、ひとつの文字の ASCII 値とみなします (負の値には 256 を足して、拡張 ASCII の範囲に収まるようにします)。 それ以外の整数値は、10 進数を含む文字列とみなします。
注意:
-128 から 255 までの int を渡すと、ひとつの文字の ASCII 値とみなします (負の値には 256 を足して、拡張 ASCII の範囲に収まるようにします)。 それ以外の整数値は、10 進数を含む文字列とみなします。
PHP 8.1.0 以降は、ctype関数 に文字列でない引数を渡すことは、推奨されなくなりました。将来のバージョンでは、引数は ASCII コードポイントではなく、文字列として解釈されるようになります。ユーザが意図する振る舞いによっては、引数を文字列にキャストするか、 chr を明示的にコールすべきです。
text のすべての文字が英字だった場合に true 、そうでない場合に false を返します。 空文字列を渡して呼び出した場合、結果は常に false になります。
true
false
例1 ctype_alphaの例 (デフォルトのロケールを使用)
<?php$strings = array('KjgWZC', 'arf12');foreach ($strings as $testcase) { if (ctype_alpha($testcase)) { echo "文字列 $testcase は全て文字からなります。\n"; } else { echo "文字列 $testcase は全てが文字から構成されているわけではありません。\n"; }}?>
上の例の出力は以下となります。
文字列 KjqWZC は全て文字からなります。 文字列 arf12 は全てが文字から構成されているわけではありません。