is_numeric — 変数が数字であるか数値文字であるかを検出します (推奨学習: 初心者からマスターまでの PHP プログラミング )
<?php $tests = array( "31", 1380, "1e4", "not numeric", array(), 9.1 ); foreach ($tests as $element) { if (is_numeric($element)) { echo "'{$element}' is numeric", PHP_EOL; } else { echo "'{$element}' is NOT numeric", PHP_EOL; } } ?>
プログラム実行結果:
'31' is numeric '1380' is numeric '1e4' is numeric 'not numeric' is NOT numeric 'Array' is NOT numeric '9.1' is numeric
文字列1e4も数値として判定されます。
is_numeric 関数は、10 進数だけでなく 16 進数もサポートします。したがって、使用中の QQ 番号などの純粋な自然数を検証する場合は、 intval() 整数関数と連携する必要があります。
<?php $id = 0xff33669f; if (is_numeric($id)) echo $id, '符合要求。';//output 4281558687符合要求。 else echo $id, '不符合要求。'; ?>
整数を決定する必要がある場合は、is_int() 関数を使用して、一部の文字列が有効な数値と見なされる状況を回避できます。
is_numeric は変数が数値か数値列かを判定できますが、判定範囲が広すぎます。整数、小数、指数表現、および 16 進数値はすべて判定に合格します。普段IDを決める場合、これを使うのは少々不適切です。
今日、新しい判定関数 ctype_digital を発見しました。これは、is_numeric よりも優れた、整数のみを判定できます。その他の関数には、16 進整数を決定する ctype_xdigital、文字を決定する ctype_alpha などがあります。
以上がPHPは文字列が数値かどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。