(PHP 4, PHP 5, PHP 7, PHP 8)
is_numeric — 変数が数字または数値形式の文字列であるかを調べる
value
評価する変数。
value
が数値または
数値形式の文字列
である場合に
true
、それ以外の場合に false
を返します。
バージョン | 説明 |
---|---|
8.0.0 |
空白文字で終わる数値形式の文字列
("42 " )
に対して、この関数は true を返すようになりました。
これより前のバージョンでは、false を返していました。
|
例1 is_numeric() の例
<?php
$tests = array(
"42",
1337,
0x539,
02471,
0b10100111001,
1337e0,
"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.0 is numeric '0x539' is NOT numeric '02471' is numeric '0b10100111001' is NOT numeric '1337e0' is numeric 'not numeric' is NOT numeric array ( ) is NOT numeric 9.1 is numeric NULL is NOT numeric '' is NOT numeric
例2 空白文字と is_numeric() 関数
<?php
$tests = [
" 42",
"42 ",
" 9001", // non-breaking space
"9001 ", // non-breaking space
];
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;
}
}
?>
上の例の PHP 8 での出力は、このようになります。:
' 42' is numeric '42 ' is numeric ' 9001' is NOT numeric '9001 ' is NOT numeric
上の例の PHP 7 での出力は、このようになります。
' 42' is numeric '42 ' is NOT numeric ' 9001' is NOT numeric '9001 ' is NOT numeric