gettype

(PHP 4, PHP 5, PHP 7, PHP 8)

gettype変数の型を取得する

説明

gettype(mixed $value): string

PHP 変数 value の型を返します。 型のチェックには、この関数ではなく is_* 関数を使います。

パラメータ

value

型を調べたい変数。

戻り値

返された文字列は、以下のいずれかの値を持ちます。

  • "boolean"
  • "integer"
  • "double" (歴史的な理由により float の場合は、"float" ではなく、 "double" が返されます)
  • "string"
  • "array"
  • "object"
  • "resource"
  • "resource (closed)" (PHP 7.2.0 以降)
  • "NULL"
  • "unknown type"

変更履歴

バージョン 説明
7.2.0 クローズ済みのリソースを渡すと 'resource (closed)'を返すようになりました。 以前は 'unknown type'を返していました。

例1 gettype() の例

<?php

$data
= array(1, 1., NULL, new stdClass, 'foo');

foreach (
$data as $value) {
echo
gettype($value), "\n";
}

?>

上の例の出力は、 たとえば以下のようになります。

integer
double
NULL
object
string

参考

  • get_debug_type() - 変数の型名をデバッグしやすい形で取得する
  • settype() - 変数の型をセットする
  • get_class() - オブジェクトのクラス名を返す
  • is_array() - 変数が配列かどうかを検査する
  • is_bool() - 変数が boolean であるかを調べる
  • is_callable() - 引数が、現在のスコープから関数としてコール可能な値かどうかを調べる
  • is_float() - 変数の型が float かどうか調べる
  • is_int() - 変数が整数型かどうかを検査する
  • is_null() - 変数が null かどうか調べる
  • is_numeric() - 変数が数字または数値形式の文字列であるかを調べる
  • is_object() - 変数がオブジェクトかどうかを検査する
  • is_resource() - 変数がリソースかどうかを調べる
  • is_scalar() - 変数がスカラかどうかを調べる
  • is_string() - 変数の型が文字列かどうかを調べる
  • function_exists() - 指定した関数が定義されている場合に true を返す
  • method_exists() - クラスメソッドが存在するかどうかを確認する

add a note add a note

User Contributed Notes 2 notes

up
5
mohammad dot alavi1990 at gmail dot com
1 year ago
Be careful comparing ReflectionParameter::getType() and gettype() as they will not return the same results for a given type.

string - string // OK
int - integer // Type mismatch
bool - boolean // Type mismatch
array - array // OK
up
-46
Anonymous
2 years ago
Same as for "boolean" below, happens with integers. gettype() return "integer" yet proper type hint is "int".

If your project is PHP8+ then you should consider using get_debug_type() instead which seems to return proper types that match used for type hints.
To Top