1. 程式人生 > >php7簡短而安全的數組遍歷方法

php7簡短而安全的數組遍歷方法

init 遍歷 ati shel php7 判斷 codec keyword www

在寫 PHP 的數組遍歷的時候,我們通常會這樣寫:

foreach ($definition[‘keys‘] as $id => $val) {
  // ...
}

但是其實這樣會引起一個重要的問題:如果 $definition[‘keys‘] 沒有定義的話,這個時候的數組變量(也就是 foreach)就會出現錯誤。

所以,我們進階成這個樣子:

if (!empty($definition[‘keys‘]) {
  foreach ($definition[‘keys‘] as $id => $val) {
    // ...
  }
}

是不是很常見?我們只要在外邊再包含一層 if 判斷就好了。這樣能夠保證數組的安全遍歷。

不過這樣還沒有達到簡短的需求,所以借助 PHP7 的 ?? 便利,我們可以寫成這個樣子:

foreach ($definition[‘keys‘] ?? [] as $id => $val) {
  // ...
}

是不是很 neat ! 哈哈哈,那麽在這裏理解 ?? 可以這樣理解:

$a = is_null($b) ? $default : $b;
$a = $b ?? $default;

相當於做了一個 is_null($b) 的操作。

來源:php簡短而安全的數組遍歷

php7簡短而安全的數組遍歷方法