【PHP8.x】is_iterable関数の使い方

作成日: 更新日:

is_iterable関数は、指定された変数が反復処理可能であるか、すなわち「イテレート可能」であるかを判定する関数です。この関数は、変数がイテレート可能である場合にはtrueを、そうでない場合にはfalseを返します。

PHPにおいて「イテレート可能」とは、foreachループを使って要素を一つずつ取り出し、処理できる特性を指します。具体的には、配列、またはTraversableインターフェースを実装したオブジェクトがこれに該当します。Traversableインターフェースは、IteratorIteratorAggregateといったイテレータを実装するクラスが共通して持つ基盤となるインターフェースです。

この関数を使用することで、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を返します。

【PHP8.x】is_iterable関数の使い方 | いっしー@Webエンジニア