【PHP8.x】is_countable関数の使い方
作成日: 更新日:
is_countable関数は、与えられた変数がカウント可能かどうかを判定する関数です。この関数は、引数として渡された変数が配列であるか、またはCountableインターフェースを実装したオブジェクトである場合にtrueを返します。Countableインターフェースを実装したオブジェクトとは、count()
関数を使ってその要素数を数えることができるオブジェクトのことです。
例えば、配列やSplFixedArray
、あるいは独自のクラスでCountable
インターフェースを実装しているインスタンスに対してこの関数を使用するとtrue
が返されます。一方、整数、文字列、null
、未定義の変数など、数えることができない型やCountable
インターフェースを実装していないオブジェクトに対してはfalse
が返されます。
この関数は、特にcount()
関数を使用する前に変数の中身をチェックする際に非常に役立ちます。もしcount()
関数にカウントできない型の変数を渡すと、PHPは警告(Warning)を発生させます。is_countable
関数を使うことで、このような実行時エラーや意図しない警告を未然に防ぎ、より堅牢なプログラムを作成することができます。PHP 7.3以降で導入されたこの関数は、以前はis_array()
やinstanceof Countable
を組み合わせて行っていたチェックを簡潔に記述できるようにするために提供されています。
基本的な使い方
構文(syntax)
<?php
$array_variable = [1, 2, 3];
$string_variable = "hello";
var_dump(is_countable($array_variable));
var_dump(is_countable($string_variable));
?>
引数(parameters)
mixed $value
- mixed $value: カウント可能な値(配列、オブジェクト、Countableインターフェースを実装したクラスのインスタンスなど)を指定します
戻り値(return)
bool
引数として渡された値がカウント可能な型(配列や traversable オブジェクトなど)である場合に TRUE を返します。それ以外の場合は FALSE を返します。