在PHP 5.4中调用foreach在空的php数组上是否安全?

ava*_*sin 7 php arrays php-5.4

我记得,在做foreach之前我总是要检查count($ array).从那时起,我总是做这个双重检查,并且想知道,现在用php 5.4有意义吗?

我已将error_reporting设置为E_ALL并执行以下脚本:

$x = [];

foreach($x as $y) {
    var_dump($y);
}
Run Code Online (Sandbox Code Playgroud)

并没有注意到(因为我记得,以前,也许它是php5.3)我得到通知.

现在在阵列上使用foreach是安全的,那是空的吗?

Tom*_*rdt 14

只要它是一个数组,就不需要检查其中的项目数量.只需确保传递一个实际的可迭代对象:例如,不要传递随机对象或NULL.

但是,是的,foreach([] as $nothing) {}是安全的.