is_iterable()


WordPressの関数is_iterable()は、指定した変数がイテラブルかどうかを確認します。この関数は配列やTraversableインターフェイスを実装したオブジェクトに対して使用されます。

シンタックス

is_iterable( mixed $value ): bool
  • $value (mixed) — チェック対象の変数を指定します。

例1: 配列のチェック

指定した変数が配列かどうかを確認します。

<?php
$var = [1, 2, 3];
if ( is_iterable($var) ) {
    echo 'この変数はイテラブルです。';
}
?>

例2: オブジェクトのチェック

Traversableインターフェイスを実装したオブジェクトの確認。

<?php
class MyIterator implements Iterator {
    private $items = [];
    private $index = 0;
    public function __construct($items) {
        $this->items = $items;
    }
    public function current() {
        return $this->items[$this->index];
    }
    public function key() {
        return $this->index;
    }
    public function next() {
        ++$this->index;
    }
    public function rewind() {
        $this->index = 0;
    }
    public function valid() {
        return isset($this->items[$this->index]);
    }
}
$obj = new MyIterator([1, 2, 3]);
if ( is_iterable($obj) ) {
    echo 'このオブジェクトはイテラブルです。';
}
?>

例3: NULLのチェック

NULLの値をチェックするとfalseが返されます。

<?php
$var = null;
if ( ! is_iterable($var) ) {
    echo 'この変数はイテラブルではありません。';
}
?>

例4: 文字列のチェック

文字列はイテラブルではないため、falseが返されます。

<?php
$var = "文字列";
if ( ! is_iterable($var) ) {
    echo 'この変数はイテラブルではありません。';
}
?>

例5: 空の配列のチェック

空の配列でもイテラブルと見なされます。

<?php
$var = [];
if ( is_iterable($var) ) {
    echo 'この変数はイテラブルです。';
}
?>

注意事項

  • is_iterable()はPHP 7.1.0以降で利用可能です。
  • Traversableインターフェイスを実装していないオブジェクトには使用できません。
  • イテラブルでない値をチェックする場合、条件分岐を適切に設計してください。

関連機能: