is_numeric
(PHP 4, PHP 5, PHP 7)
is_numeric — 変数が数字または数値形式の文字列であるかを調べる
説明
指定した変数が数値であるかどうかを調べます。数値形式の文字列は以下の要素から なります。(オプションの)符号、任意の数の数字、(オプションの)小数部、 そして(オプションの)指数部。つまり、+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,
null
);
foreach ($tests as $element) {
if (is_numeric($element)) {
echo var_export($element, true) . " is numeric", PHP_EOL;
} else {
echo var_export($element, true) . " 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.0999999999999996447286321199499070644378662109375 is numeric NULL is NOT numeric
変更履歴
| バージョン | 説明 |
|---|---|
| 7.0.0 |
十六進表記(0xf4c3b00c など) の文字列は数値形式の文字列とみなされなくなりました。
つまり、is_numeric() は FALSE を返すようになりました。
|
参考
- ctype_digit() - 数字かどうかを調べる
- is_bool() - 変数が boolean であるかを調べる
- is_null() - 変数が NULL かどうか調べる
- is_float() - 変数の型が float かどうか調べる
- is_int() - 変数が整数型かどうかを検査する
- is_string() - 変数の型が文字列かどうかを調べる
- is_object() - 変数がオブジェクトかどうかを検査する
- is_array() - 変数が配列かどうかを検査する