概要
値が特定のプリミティブ型かどうか、何かのクラスのインスタンスかどうかを確認する方法。
gettype()は型の名前の文字列を返すis_*はそれぞれの型に合致しているかどうかをチェック
クラス関係の確認についてはこちらを参照、
gettype()
gettype()は、引数で与えられた値の型を文字列として返す。以下の例のほか、resource、unknown typeが準備されている。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
vars = [true, 1, 3.14, 'abcd', ['acd', 1], new Exception(), null]; foreach ($vars as $var) { echo gettype($var) . "\n"; } // boolean // integer // double // string // array // object // NULL |
is_*() – 型の確認
is_*(値)で値の型が合致しているかをチェック。
is_boolis_numeric, is_finite, is_infinite, is_nanis_int/is_integer, is_long, is_float/is_double/is_realis_stringis_arrayis_object, is_subclass_of
|
1 2 3 4 5 6 |
echo is_bool(true) ? "true\n" : "false\n"; // true echo is_bool(1) ? "true\n" : "false\n"; // false echo is_finite(3.14) ? "true\n" : "false\n"; // true echo is_infinite(1.0 / 0) ? "true\n" : "false\n"; // true echo is_nan(0 / 0) ? "true\n" : "false\n"; // true // 0除算はwarningが出る |