PHPプログラミング

レシピ

変数

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

変数にセットされた値の「型」を取得する方法を、実例を交えながら解説します。

この記事のポイント

  • 変数に入っている値の型を確認する
  • 値の型を変換する

目次

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

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

gettype関数の基本的な使い方

gettype( $var);

返り値は$varにセットされた値の型名の文字列となり、次の9種類のいずれかが返されます。

  • boolean – 論理値。true、falseのいずれ。
  • integer – 整数。-1、0、1、9999など
  • double – 浮動小数点数。「float」もこの型になるので注意してください。
  • string – 文字列。「あいうえお」、「abcde」など。
  • 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

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

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

ありがとうございます。
コメントを送信しました。