有没有更短的方法来防止通过未设置的数组进行"looping"?



如果变量不是数组或未设置,我正在寻找一种有效/优雅的方法来避免Invalid argument supplied for foreach()错误。以下是我今天发现的(php7.3.27(,它有效:

foreach(isset($arr) ? (array)$arr : [] as $k=>$v) {
 // loop
}

有没有更短/更优雅的方法?

不要简明扼要。清楚你的意思:

if (empty($arr) OR !is_array($arr)) {
    return;
}
foreach ($arr as $key => $value) {
    // …
}

请注意,函数中的类型声明可以帮助您完全避免这种情况。

最新更新