フリーランス|WEB 制作経験丸7年、制作会社様からのご依頼に丁寧・高クオリティでお手伝いいたします。 IRODORI DESIGN

B L O G

【PHP関数】変数の型を調べる方法

PHP
プログラミング
関数紹介

PHPで変数の型を知りたい時、どのようにしますか?
型はプログラミングの基礎であり、変数の型を正しく理解することはバグの原因を回避したり、効率的なコードを書く上で非常に重要です。今日は、変数の型を手軽に知ることができるgettype関数について深く掘り下げてみましょう。

変数の方を調べる【gettype関数】

PHPで変数の型を取得するにはgettype関数を使用します。この関数を使用すると、引数として指定した変数がどの型なのか文字列で取得することが出来ます。

gettype関数の基本的な使い方

gettype関数の基本的な使い方は以下のとおりです。

string gettype(mixed $value)

引数
$value:型を調べたい変数

返り値
$valueの型(文字列)

gettype関数が返す型の一覧は以下の通りです。このうちどれかを文字列で返します。

  • boolean
  • integer
  • double
  • string
  • array
  • object
  • resource
  • null
  • unknown type

型の解説

実際に使用例を確認する前にまずはそれぞれの型を簡単に解説します。

boolean(ブール型)
・「boolean」が返されるのは変数が true または false の時です。
・この型が出現するのは条件判定、トグルスイッチやフラグ設定などのブール制御に関連する処理の場面で返されます。

integer(整数型)
・「integer」が返されるのは変数が整数の時です。
・この型が出現するのは回数をカウントしたり、アイテムのインデックスを指定する際など、具体的な数量や順序を示す場面で使われます。

double(浮動小数点型)
・「double」が返されるのは変数が浮動小数点数の時です。
・この型が出現するのは整数では表せない巨大な数値や小数点以下の値を持つ数値を表現する場面で返されます。

string(文字列型)
・「string」が返されるのは変数が文字列の時です。
・この型が出現するのはテキストを表示、保存、または処理する場面で返されます。

array(配列型)
・「array」が返されるのは変数が配列のの時です。
・この型が出現するのは複数のアイテムや値をまとめて保持・操作する場面で返されます。

object(オブジェクト型)
・「object」が返されるのは変数がオブジェクトの時です。
・この型が出現するのはクラスベースのオブジェクト指向プログラミングで、特定の機能やデータをカプセル化する場面で返されます。

resource(リソース型)
・「resource」が返されるのは変数が外部リソース(例えばデータベースの接続やファイルハンドルなど)を参照している時です。
・この型が出現するのは外部のシステムやサービスとのインタラクションが必要な場面、例えばファイルの読み書きやデータベースのクエリ実行などの場面で返されます。

NULL(ヌル型)
・「NULL」が返されるのは変数がnull値の時です。
・この型が出現するのは変数が明示的に値を持たない、または未定義である場面で返されます。

unknown type(未知の型)
・「unknown type」が返されるのはgettype関数が変数の型を判断できなかった時です。
・この型が出現するのはエラーや不具合、非標準的な状況下でのみ発生し、この値が返される場合は何かしら不具合が起こっている可能性があります。

実行結果

各パターンの型を持つ変数をgettype関数で出力すると、どのような値が表示されるかをそれぞれ見ていきます。

boolean(ブール型)

<?php
    $boolVar = true;
    echo gettype($boolVar);
?>
boolean

integer(整数型)

<?php
    $intVar = 123;
    echo gettype($intVar);
?>
integer

double(浮動小数点型)

<?php
    $doubleVar = 12.34;
    echo gettype($doubleVar);
?>
double

string(文字列型)

<?php
    $stringVar = "Hello, World!";
    echo gettype($stringVar);
?>
string

array(配列型)

<?php
    $arrayVar = array(1, 2, 3, 4, 5);
    echo gettype($arrayVar);
?>
array

object(オブジェクト型)

<?php
    class MyClass {}
    $objVar = new MyClass();
    echo gettype($objVar);
?>
object

resource(リソース型)

<?php
    $file = fopen("test.txt", "r");
    echo gettype($file);

    fclose($file); // ファイルを開いたら閉じる
?>
resource

NULL(ヌル型)

<?php
    $nullVar = null;
    echo gettype($nullVar);
?>
NULL

unknown type(未知の型)

unknown type

先ほど型の解説をした際にも記載しましたが、この値が返される状況は通常発生しません。非標準的な拡張や内部的なエラーなど、特別な状況でのみこの型が返される可能性があります。

このようにそれぞれの変数の方を返してくれます。
ただし、このgettype関数はデバッグや動的に型をチェックする際に役に立ちますが、実際に型をチェックする場合は型チェックをするis_●●系の関数(is_int、is_string等)を使用することが一般的です。

まとめ

gettype関数は、PHPにおいて変数の型を判定するための強力なツールです。今回のブログでは、その使用方法や返す型について詳しく見てきました。正確な型の理解は、安全で効果的なプログラミングの鍵となるので、この関数をうまく活用して、より質の高いコードを書きましょう。