分類 | 種類 | 型 |
---|---|---|
スカラー型 | 論理値 | boolean |
整数 | integer | |
浮動小数点 | float (double) | |
文字列 | string | |
複合型 | 配列 | array |
オブジェクト | object | |
特別な型 | リソース | resource |
ヌル | NULL |
多くの場合、型の変換が必要なときは自動でそれが行われるため、明示的にキャストする必要はありません。もし明示的にキャストするならば、settype()または (int)
のようなC言語と同様の構文を用いて、
$a = (int)$b;
のようにします。
コード | 変換後の型 |
---|---|
(bool) | 論理値 |
(boolean) | |
(int) | 整数 |
(integer) | |
(float) | 浮動小数点数 |
(double) | |
(real) | |
(string) | 文字列 |
(array) | 配列 |
(object) | オブジェクト |
(unset) | NULL |
is_array()やis_int()のように、特定の型であるかどうかを判定する関数が用意されています。
関数 | 想定する型 |
---|---|
is_bool() | boolean |
is_int() | integer |
is_integer() | |
is_long() | |
is_float() | float |
is_double() | |
is_real() | |
is_string() | string |
is_array() | array |
is_object() | object |
is_resource() | resource |
is_null() | NULL |
想定する型であったならばTRUEが、さもなくばFALSEが返されます。これらの関数は、たとえば
bool is_int ( mixed $var )PHP: is_int - Manual
のように定義されています。また、内容を判定する下表の関数もあります。
分類 | 関数 | 想定する内容 |
---|---|---|
数値 | is_numeric() | 数字または数値形式の文字列 |
is_infinite() | 無限大 | |
is_nan() | 数値 | |
is_scalar() | スカラー型 (boolean、integer、float、string) | |
クラス | is_a() |
指定クラス、またはそのクラスを継承している
(instanceof演算子で代用可) |
is_subclass_of() | 指定クラスを継承している |
gettype()関数で変数の型名を取得できます。しかし次の理由により、使用すべきではありません。
gettype
返された文字列は将来のバージョンで変更される可能性があるので、gettype()を使用して型を調べることはしないでください。更に、この関数は文字列比較を行うため、処理が遅くなります。
代わりに is_* 関数を使用してください。
PHP: gettype - Manual