get_debug_type

(PHP 8)

get_debug_type変数の型名をデバッグしやすい形で取得する

説明

get_debug_type(mixed $value): string

PHP の変数 value の、解決済みの名前を返します。 この関数は、オブジェクトをクラス名に、 リソースをリソース型の名前に、 そしてスカラー型の値を型宣言で使われている通常の名前に解決します。

gettype() は、歴史的な理由で決まった型の名前を返します。 この関数は、それよりも実際に使われている型により近い名前を返すという点が異なります。

パラメータ

value

型をチェックする変数。

戻り値

返される文字列としてあり得るのは、以下になります:

型 + 状態 戻り値 備考
null "null" -
boolean (true または false) "bool" -
整数型 "int" -
浮動小数点型 "float" -
文字列 "string" -
配列 "array" -
リソース "resource (resourcename)" -
リソース(閉じられたもの) "resource (closed)" 例: fclose で閉じられたファイルストリーム
名前付きのクラスのオブジェクト 名前空間も含めた、クラスの完全修飾名。 例: Foo\Bar -
無名クラスのオブジェクト "class@anonymous" 無名クラスのオブジェクトは、$x = new class { ... } という文法で作成されます。

例1 get_debug_type() の例

<?php
echo get_debug_type(null) . PHP_EOL;
echo 
get_debug_type(true) . PHP_EOL;
echo 
get_debug_type(1) . PHP_EOL;
echo 
get_debug_type(0.1) . PHP_EOL;
echo 
get_debug_type("foo") . PHP_EOL;
echo 
get_debug_type([]) . PHP_EOL;

$fp fopen(__FILE__'rb');
echo 
get_debug_type($fp) . PHP_EOL;

fclose($fp);
echo 
get_debug_type($fp) . PHP_EOL;

echo 
get_debug_type(new stdClass) . PHP_EOL;
echo 
get_debug_type(new class {}) . PHP_EOL;
?>

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

null
bool
int
float
string
array
resource (stream)
resource (closed)
stdClass
class@anonymous

参考

関連キーワード:  変数, 取得, デバッグ, 型名, 名前, クラス, , オブジェクト, debug, type