PHP入門 数学関数 変数のデータ型を判定する(is_xxxxx関数)

変数/リテラルのデータ型を判定し、その結果をture/falseで判定する方法を解説しています。

主なis_xxxxx関数

関数判定する型
is_array配列型
is_bool論理型
is_callable関数
is_countablecount関数でカウント可能な型(配列、またはCountable型)
is_double/is_float浮動小数点型
is_int/is_integer/is_long整数型
is_iterableiterable型(配列、またはTraversal型)
is_nanNAN(Not a Number:非数値)
is_nullnull型
is_numeric数値型、もしくは数値形式の文字列
is_objectオブジェクト型
is_resourceリソース型
is_scalarスカラー型
is_string文字列型

<?php
var_dump(is_int(101));          //結果:bool(true)

var_dump(is_int('101'));        //結果:bool(false)
var_dump(is_numeric('101'));    //結果:bool(true)
var_dump(is_float(1.5E8));      //結果:bool(true)
var_dump(is_resource(fopen('access.log','r')));  //結果:bool(true)
var_dump(is_null(''));          //結果:bool(false)

?>

is_numeric関数を除いては、データ型を厳密に判定します。

is_numeric関数でも’0b11’(2進数)、’0xff’(16進数)などの文字列は数値とみなされません。
フォームの入力値が数値かどうかチェックするのに、使われます。