成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP 簡短而安全的數(shù)組遍歷

paulli3 / 2493人閱讀

摘要:在寫的數(shù)組遍歷的時(shí)候,我們通常會(huì)這樣寫但是其實(shí)這樣會(huì)引起一個(gè)重要的問題如果沒有定義的話,這個(gè)時(shí)候的數(shù)組變量也就是就會(huì)出現(xiàn)錯(cuò)誤。這樣能夠保證數(shù)組的安全遍歷。

在寫 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ù)組的安全遍歷。

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

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

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

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

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

如果你有更好的,請(qǐng)?jiān)u論告知!

雙十一關(guān)注公眾號(hào) codecasts 即送 100 元訂閱優(yōu)惠劵的活動(dòng)還有效!CODECASTS 支持 ETC BTC等電子購買訂閱會(huì)員啦

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26056.html

相關(guān)文章

  • PHP7新特性小結(jié)

    摘要:標(biāo)量類型聲明在中,引入了一個(gè)新的特性,即標(biāo)量類型聲明。棄用樣式構(gòu)造函數(shù)是與它們定義的類具有相同名稱的方法,現(xiàn)在已被棄用,并且將來將被刪除。 showImg(https://segmentfault.com/img/remote/1460000012438557?w=1024&h=456); 說明 PHP 7使用新的Zend Engine 3.0將應(yīng)用程序性能提高近兩倍,內(nèi)存消耗比PHP...

    Steven 評(píng)論0 收藏0
  • PHP5.5 ~ PHP7.2 新特性整理

    摘要:以上例程會(huì)輸出返回值類型聲明增加了對(duì)返回類型聲明的支持。整數(shù)除法函數(shù)從移植到可為空類型參數(shù)以及返回值的類型現(xiàn)在可以通過在類型前加上一個(gè)問號(hào)使之允許為空。對(duì)于函數(shù)來說,不是一個(gè)合法的返回值。對(duì)于返回值,子類可以拓寬父類的或?qū)ο蠓祷刂殿愋偷健? PHP5.5 ~ PHP7.2 新特性整理 官方文檔:http://php.net/manual/zh/appe... 一、從PHP 5.5.x ...

    mrcode 評(píng)論0 收藏0
  • 2018年騰訊前端一面總結(jié)(面向2019屆學(xué)生)

    摘要:前言騰訊一面,相比阿里一面來說,騰訊一面先給打電話預(yù)定時(shí)間,這也給了我們這些面試者去準(zhǔn)備的時(shí)間。其實(shí)閉包也就是指有權(quán)訪問另一個(gè)函數(shù)作用域的函數(shù)而已。常用的創(chuàng)建閉包的方法就是在函數(shù)內(nèi)部創(chuàng)建另一個(gè)函數(shù)。 前言 騰訊一面,相比阿里一面來說,騰訊一面先給打電話預(yù)定時(shí)間,這也給了我們這些面試者去準(zhǔn)備的時(shí)間。但是也正是因?yàn)檫@種確定性,也有在等待電話的時(shí)候的心情的忐忑。 背景 我是一名大三學(xué)生,大一...

    Kosmos 評(píng)論0 收藏0
  • PHP小知識(shí)點(diǎn)

    摘要:那些瑣碎的知識(shí)點(diǎn)作者記錄的的很奇特很難記的知識(shí)點(diǎn)。易錯(cuò)知識(shí)點(diǎn)整理注意和的區(qū)別中和都是輸出的作用,但是兩者之間還是有細(xì)微的差別。今天手頭不忙,總結(jié)一下,分享過程中掌握的知識(shí)點(diǎn)。 深入理解 PHP 之:Nginx 與 FPM 的工作機(jī)制 這篇文章從 Nginx 與 FPM 的工作機(jī)制出發(fā),探討配置背后的原理,讓我們真正理解 Nginx 與 PHP 是如何協(xié)同工作的。 PHP 那些瑣碎的知識(shí)...

    hover_lew 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<