PHPerKaigi 2021

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"

例1 gettype() の例

<?php

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

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

?>

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

integer
double
NULL
object
string

変更履歴

バージョン 説明
7.2.0 クローズ済みのリソースを渡すと 'resource (closed)'を返すようになりました。 以前は 'unknown 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 1 note

up
-11
matt at appstate
16 years ago
Here is something that had me stumped with regards to gettype and is_object.
Gettype will report an incomplete object as such, whereas is_object will return FALSE.

<?php
if (!is_object($incomplete_obj)) {
   echo
'This variable is not an object, it is a/an ' . gettype($incomplete_obj);
}
?>

Will print:
This variable is not an object, it is a/an object
To Top