【PHP8.x】is_iterable関数の使い方
作成日: 更新日:
is_iterable関数は、指定された変数が反復処理可能であるか、すなわち「イテレート可能」であるかを判定する関数です。この関数は、変数がイテレート可能である場合にはtrue
を、そうでない場合にはfalse
を返します。
PHPにおいて「イテレート可能」とは、foreach
ループを使って要素を一つずつ取り出し、処理できる特性を指します。具体的には、配列、またはTraversable
インターフェースを実装したオブジェクトがこれに該当します。Traversable
インターフェースは、Iterator
やIteratorAggregate
といったイテレータを実装するクラスが共通して持つ基盤となるインターフェースです。
この関数を使用することで、foreach
ループで処理する前に、対象の変数が安全に反復可能であることを事前に確認できます。これにより、意図しない型のエラーや警告の発生を防ぎ、プログラムの安定性を向上させることができます。特に、外部からの入力値や、他の関数やメソッドから返される値が、期待通り配列やイテレータとして処理可能であるかを事前にチェックする際に非常に役立ちます。PHP 8の環境下でも、この機能はデータの型安全性を高める上で重要な役割を果たします。
基本的な使い方
構文(syntax)
<?php
$iterable_data = [1, 2, 3];
$not_iterable_data = "Hello";
var_dump(is_iterable($iterable_data));
var_dump(is_iterable($not_iterable_data));
?>
引数(parameters)
mixed $value
- mixed $value: イテラブルかどうかを判定したい値
戻り値(return)
bool
指定された変数がiterable(配列またはTraversableインターフェースを実装したオブジェクト)である場合にtrue
を、そうでない場合にfalse
を返します。