PHPプログラミング

最終更新日:
公開日:

レシピ

変数

変数の値の型を取得する:gettype関数

gettype関数を使って変数に入っている値の型を取得する方法を解説します。

この記事のポイント

  • 変数に入っている値の型をgettype関数で確認する
  • gettype関数の返り値の型は文字列(String

目次

変数の値の型を確認して処理を分岐できる

変数に入っている値の型を確認し、特定の型のみ型変換を行ったりなど処理を分けたい場合があります。
そんな時に活用できるgettype関数の使い方を解説します。

gettype関数の基本的な使い方

gettype($var);

gettype関数の返り値は$varにセットされた値の型名の文字列String)です。
次の9種類のいずれかが返されます。

gettype関数の返り値gettype関数に渡す値の例
boolean論理値。truefalseのいずれか。
integer整数。-1019999など
double浮動小数点数。float」もこの型になるので注意してください。
string文字列。「あいうえお」、「abcde」など。
array配列。空の配列でも「array」が返ってきます。
objectオブジェクト。クラスのインスタンスなど。
resourceリソース。
NULL値がない、または変数が存在しない
unknown type不明な型

検証

様々な値を持った変数を使って挙動を確認してみましょう。

コード例

<?php

// 変数の初期化
$a = null;
$b = true;
$c = 1;
$d = 15.25529;
$e = "GRAYCODE";
$f = array();
$g = new mysqli();

var_dump(gettype($a));	// string 'NULL'
var_dump(gettype($b));	// string 'boolean'
var_dump(gettype($c));	// string 'integer'
var_dump(gettype($d));	// string 'double'
var_dump(gettype($e));	// string 'string'
var_dump(gettype($f));	// string 'array'
var_dump(gettype($g));	// string 'object'
var_dump(gettype($h));	// string 'NULL'

各変数にセットされた値にあった型が返されていることが分かります。
$dの浮動小数点数のみ、floatではなくdoubleが返されることに注意してください。

特定の型じゃない場合は型変換をする

型の取得方法が分かったところで、少し実用的な「整数型じゃない場合は整数型に型変換をする」というコードを書いていきます。

コード例

<?php

// 変数の初期化
$a = 15.25529;

if( gettype($a) !== 'integer' ) {
	$a = (int)$a;
}

var_dump($a);	// 15

$aの値が整数型じゃない場合は、intval関数を使って整数へ強制変換しています。
上記のように浮動小数点数ではなく文字列や配列がセットされていたとしても、最終的には強制的に整数の値がセットされます。

変数にセットされた値の型変換につきましては、別記事「変数にセットされた値の型を強制変換する」をご覧ください。

このような処理を行うことで、変数に意図した値がセットされるようになり、予期せぬ型によって発生するエラーを予防することができます。

gettype関数 – php.net

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。

コメントありがとうございます!
運営の参考にさせていただきます。