12345は数値 595は数値 0x12f5は数値 12f5は数値ではない -455は数値 abcは数値ではない 123は数値ではない 1は数値ではない は数値ではない
値が数値かを判定する
スポンサーリンク
PHP で値が数値かを判定するには is_numeric 関数を使用します。 サンプルコードは以下の通りです。
php(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $ary = array( 12345, //数値として判定される "595", //数値として判定される "0x12f5", //数値として判定される(0x始まりは16進数) "12f5", //数値ではない(0xが無いと16進数にはならない) -455, //数値として判定される "abc", //数値として判定されない "123", //数値として判定されない(全角なので) true, //数値として判定されない(真偽値なので) null, //数値として判定されない ); foreach($ary as $e){ if(is_numeric($e)){ echo $e . "は数値\n"; }else{ echo $e . "は数値ではない\n"; } } |
上記の実行結果は以下の通りです。
0x で始まる 16 進数表現の場合、 16 進数に使用される a, b, c, d, e, f も数字として判定されます。全角文字は数値として判定されないので、全角も含めて確認する場合は事前に半角に変換する必要があります。
スポンサーリンク