データ型

分類 種類
スカラー型 論理値 boolean
整数 integer
浮動小数点 float (double)
文字列 string
複合型 配列 array
オブジェクト object
特別な型 リソース resource
ヌル NULL

型の変更

多くの場合、型の変更が必要なときは自動でそれが行われるため、明示的にキャストする必要はありません。

明示的にキャストするには、settype()または (int) のようなC言語と同様の構文を用います。

型キャスト
コード 変更後の型
(bool) 論理値
(boolean)
(int) 整数
(integer)
(float) 浮動小数点数
(double)
(real)
(string) 文字列
(array) 配列
(object) オブジェクト
(unset) NULL

型の調査

is_*()の形式で、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
分類 関数 想定する内容
数値 is_numeric() 数字または数値形式の文字列
is_infinite() 無限大
is_nan() 数値
is_scalar() スカラー型 (boolean、integer、float、string)
文字列 is_unicode unicode文字列
クラス is_a() 指定クラス、またはそのクラスを継承している

(instanceof演算子で代用可)

is_subclass_of 指定クラスを継承している

型名の取得

gettype()関数で変数の型名を取得できます。しかし次の理由により、使用すべきではありません。

gettype

返された文字列は将来のバージョンで変更される可能性があるので、gettype()を使用して型を調べることはしないでください。更に、この関数は文字列比較を行うため、処理が遅くなります。

代わりに is_* 関数を使用してください。

PHP: gettype - Manual