概要
値が特定のプリミティブ型かどうか、何かのクラスのインスタンスかどうかを確認する方法。
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_bool
is_numeric, is_finite, is_infinite, is_nan
is_int/is_integer, is_long, is_float/is_double/is_real
is_string
is_array
is_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が出る |