📅  最后修改于: 2023-12-03 15:03:39.060000             🧑  作者: Mango
is_iterable()
函数是在 PHP 7.1 版本中引入的。它用于检查变量是否是可迭代的。如果是,则返回 true
。如果不是,则返回 false
。
在 PHP 中,可迭代的意味着它可以被 foreach()
函数遍历,包括数组和实现了 Traversable
接口的对象。
is_iterable($var): bool
$var
: 要检查的变量。如果变量是可迭代的,则返回 true
,否则返回 false
。
$array = [1, 2, 3];
$iterator = new ArrayIterator($array);
var_dump(is_iterable($array)); // 返回 true
var_dump(is_iterable($iterator)); // 返回 true
var_dump(is_iterable(5)); // 返回 false
is_iterable()
函数只能检查变量是否是可迭代的,不能检查变量本身是否存在。is_array()
函数来检查一个变量是否是数组,但它不能检查其他实现了 Traversable
接口的对象。foreach()
函数,则会发出警告并返回空值。因此,在使用 foreach()
之前最好先使用 is_iterable()
函数检查变量是否可迭代。function is_iterable($var) {
return (is_array($var) || $var instanceof Traversable);
}
is_iterable()
函数是 PHP 7.1 版本中非常有用的函数。它可以用于检查变量是否是可迭代的,从而避免在不可迭代的变量上使用 foreach()
函数而导致的警告。此外,它还支持检查实现了 Traversable
接口的对象。