変数操作 関数
PHP Manual

is_numeric

(PHP 4, PHP 5, PHP 7)

is_numeric 変数が数字または数値形式の文字列であるかを調べる

説明

bool is_numeric ( mixed $var )

指定した変数が数値であるかどうかを調べます。数値形式の文字列は以下の要素から なります。(オプションの)符号、任意の数の数字、(オプションの)小数部、 そして(オプションの)指数部。つまり、+0123.45e6 は数値として有効な値です。十六進表記(0xf4c3b00c など) や二進表記 (0b10100111001 など) は認められません。

パラメータ

var

評価する変数。

返り値

var が数値または数値形式の文字列である場合に TRUE、それ以外の場合に FALSE を返します。

例1 is_numeric() の例

<?php
$tests 
= array(
    
"42",
    
1337,
    
0x539,
    
02471,
    
0b10100111001,
    
1337e0,
    
"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;
    }
}
?>

上の例の出力は以下となります。

'42' is numeric
'1337' is numeric
'1337' is numeric
'1337' is numeric
'1337' is numeric
'1337' is numeric
'not numeric' is NOT numeric
'Array' is NOT numeric
'9.1' is numeric

変更履歴

バージョン 説明
7.0.0 十六進表記(0xf4c3b00c など) の文字列は数値形式の文字列とみなされなくなりました。 つまり、is_numeric()FALSE を返すようになりました。

参考


変数操作 関数
PHP Manual