溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

通常PHP簡(jiǎn)短而安全的數(shù)組遍歷怎么寫

發(fā)布時(shí)間:2020-04-26 14:41:36 來(lái)源:億速云 閱讀:667 作者:小新 欄目:編程語(yǔ)言

本篇文章和大家了解一下通常PHP簡(jiǎn)短而安全的數(shù)組遍歷怎么寫。有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有所幫助。

在寫 PHP 的數(shù)組遍歷的時(shí)候,我們通常會(huì)這樣寫:

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

但是其實(shí)這樣會(huì)引起一個(gè)重要的問題:如果 $definition['keys'] 沒有定義的話,這個(gè)時(shí)候的數(shù)組變量(也就是 foreach)就會(huì)出現(xiàn)錯(cuò)誤。

所以,我們進(jìn)階成這個(gè)樣子:

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

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

不過(guò)這樣還沒有達(dá)到簡(jiǎn)短的需求,所以借助 PHP7 的 ?? 便利,我們可以寫成這個(gè)樣子:

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

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

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

相當(dāng)于做了一個(gè) is_null($b) 的操作。

關(guān)于通常PHP簡(jiǎn)短而安全的數(shù)組遍歷怎么寫就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI