is_numeric

(PHP 4, PHP 5, PHP 7)

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

説明

is_numeric ( mixed $var ) : bool

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

パラメータ

var

評価する変数。

返り値

var が数値または数値形式の文字列である場合に 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($elementtrue) . " is numeric"PHP_EOL;
    } else {
        echo 
var_export($elementtrue) . " 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

変更履歴

バージョン 説明
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() - 変数が配列かどうかを検査する

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top