データ型

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

型の変換 (Type Casting)

多くの場合、型の変換が必要なときは自動でそれが行われるため、明示的にキャストする必要はありません。もし明示的にキャストするならば、settype()または (int) のようなC言語と同様の構文を用います。たとえば、

$foo = (int)$bar;

とします。

型キャスト
コード 変換後の型
(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
PHP: 変数操作 関数 - Manual

想定する型であったならば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() 指定クラスを継承している
PHP: クラス/オブジェクト関数 - Manual

型名の取得

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

gettype

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

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

PHP: gettype - Manual