检查可迭代内容PHP

lot*_*fio 4 php types iterator

对于PHP> = 7.1,可以检测变量是否可迭代使用is_iterable().

PHP <= 7有替代方法吗?

我怎么能这样做,因为我在PHP 7.0上工作?

Phi*_*ipp 7

如果给定的var是类型的,Traversable或者它是一个数组,你只需要测试.其他一切都不可迭代.

if (!function_exists('is_iterable')) {
    function is_iterable($var)
    {
        return is_array($var) || $var instanceof \Traversable;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 在“if (!function_exists('is_iterable')) { ... }”中覆盖此函数,以确保将来的安全。没有人知道提供商或其他人是否正在更新 php 版本。 (2认同)
  • 类`stdClass`的对象是可迭代的,但不是`Traversable`的数组或实例. (2认同)