📜  PHP | is_iterable()函数(1)

📅  最后修改于: 2023-12-03 15:03:39.060000             🧑  作者: Mango

PHP | is_iterable()函数

介绍

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
使用注意事项
  1. is_iterable() 函数只能检查变量是否是可迭代的,不能检查变量本身是否存在。
  2. 在 PHP 7.1 之前的版本中,可以使用 is_array() 函数来检查一个变量是否是数组,但它不能检查其他实现了 Traversable 接口的对象。
  3. 如果在非可迭代的变量上使用 foreach() 函数,则会发出警告并返回空值。因此,在使用 foreach() 之前最好先使用 is_iterable() 函数检查变量是否可迭代。
  4. 如果需要在 PHP 7.0 或更早的版本中检查变量是否是可迭代的,可以使用以下代码:
function is_iterable($var) {
    return (is_array($var) || $var instanceof Traversable);
}
结论

is_iterable() 函数是 PHP 7.1 版本中非常有用的函数。它可以用于检查变量是否是可迭代的,从而避免在不可迭代的变量上使用 foreach() 函数而导致的警告。此外,它还支持检查实现了 Traversable 接口的对象。