Я не говорю о типе параметров, на самом деле я в середине кодов!
Как определить переменную – объект Traversable
для использования в циклах foreach
?
if(is_traversable($variable)) { return (array) $variable; }
Используйте instanceof
чтобы определить, является ли объект Traversable
if($variable instanceof \Traversable) { // is Traversable }
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; })()) );