is_scalar

関数の概要

PHPの is_scalar 関数は、変数がスカラー型かどうかを判定します。スカラー型とは、単一の値を表すデータ型のことを指し、具体的には int(整数)、float(浮動小数点数)、string(文字列)、bool(真偽値)が該当します。配列やオブジェクトなどの複合型ではないかどうかを簡単にチェックしたい場合に便利です。

パラメータの説明

  • mixed $value – チェックしたい任意の変数を指定します。どんな型の値でも渡せます。

戻り値

引数がスカラー型の場合に true を返し、それ以外の場合は false を返します。

使用例

基本的な使い方

<?php
$value = 123;
if (is_scalar($value)) {
    echo "これはスカラー型です。";
} else {
    echo "これはスカラー型ではありません。";
}
?>

上記コードでは、整数値である 123 がスカラー型なので、「これはスカラー型です。」と表示されます。

文字列や浮動小数点数のチェック

<?php
var_dump(is_scalar("hello"));   // bool(true)
var_dump(is_scalar(3.14));      // bool(true)
var_dump(is_scalar(true));      // bool(true)
?>

文字列、浮動小数点数、真偽値はいずれもスカラー型なので、すべて true が返されます。

配列やオブジェクトはスカラー型ではない

<?php
var_dump(is_scalar([1, 2, 3]));       // bool(false)
var_dump(is_scalar((object)['a'=>1])); // bool(false)
?>

配列やオブジェクトはスカラー型ではないため、false が返されます。これにより複雑な型を除外できます。

関連する関数

  • is_int() – 整数かどうか判定
  • is_float() – 浮動小数点数かどうか判定
  • is_string() – 文字列かどうか判定
  • is_bool() – 真偽値かどうか判定
  • is_array() – 配列かどうか判定
  • is_object() – オブジェクトかどうか判定

まとめ

is_scalar は、変数がスカラー型(整数、浮動小数点数、文字列、真偽値)のいずれかであるかを簡単に判定できる便利な関数です。配列やオブジェクトなど複合型と区別したいときに役立ちます。PHPプログラムで型を厳密に処理したい際にはぜひ活用しましょう。