PHP入門 数学関数 変数のデータ型を判定する(is_xxxxx関数)
変数/リテラルのデータ型を判定し、その結果をture/falseで判定する方法を解説しています。
主なis_xxxxx関数
関数 | 判定する型 |
---|---|
is_array | 配列型 |
is_bool | 論理型 |
is_callable | 関数 |
is_countable | count関数でカウント可能な型(配列、またはCountable型) |
is_double/is_float | 浮動小数点型 |
is_int/is_integer/is_long | 整数型 |
is_iterable | iterable型(配列、またはTraversal型) |
is_nan | NAN(Not a Number:非数値) |
is_null | null型 |
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進数)などの文字列は数値とみなされません。
フォームの入力値が数値かどうかチェックするのに、使われます。