Как определить, является ли объект Traversable в PHP?

Как я могу определить переменную Traversable объект для использования в foreach петли?

if(is_traversable($variable)) {
return (array) $variable;
}

10

Решение

использование instanceof определить, является ли объект Traversable

if($variable instanceof \Traversable) {
// is Traversable
}
13

Другие решения

is_iterable может использоваться начиная с PHP 7.1.

// https://wiki.php.net/rfc/iterable
var_dump(
true === is_iterable([1, 2, 3]),
true === is_iterable(new ArrayIterator([1, 2, 3])),
true === is_iterable((function () { yield 1; })())
);
12

По вопросам рекламы [email protected]