分かりやすく、使いやすく。

値が数値かを判定する

スポンサーリンク

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";
    }
} 

上記の実行結果は以下の通りです。

12345は数値
595は数値
0x12f5は数値
12f5は数値ではない
-455は数値
abcは数値ではない
123は数値ではない
1は数値ではない
は数値ではない 

0x で始まる 16 進数表現の場合、 16 進数に使用される a, b, c, d, e, f も数字として判定されます。全角文字は数値として判定されないので、全角も含めて確認する場合は事前に半角に変換する必要があります。

スポンサーリンク
スポンサーリンク