国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

paulli3 / 2485人閱讀

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

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

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

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

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

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

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

不過(guò)這樣還沒(méi)有達(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) 的操作。

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

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

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

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

相關(guān)文章

  • PHP7新特性小結(jié)

    摘要:標(biāo)量類型聲明在中,引入了一個(gè)新的特性,即標(biāo)量類型聲明。棄用樣式構(gòu)造函數(shù)是與它們定義的類具有相同名稱的方法,現(xiàn)在已被棄用,并且將來(lái)將被刪除。 showImg(https://segmentfault.com/img/remote/1460000012438557?w=1024&h=456); 說(shuō)明 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)在可以通過(guò)在類型前加上一個(gè)問(wèn)號(hào)使之允許為空。對(duì)于函數(shù)來(lái)說(shuō),不是一個(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é)生)

    摘要:前言騰訊一面,相比阿里一面來(lái)說(shuō),騰訊一面先給打電話預(yù)定時(shí)間,這也給了我們這些面試者去準(zhǔn)備的時(shí)間。其實(shí)閉包也就是指有權(quán)訪問(wèn)另一個(gè)函數(shù)作用域的函數(shù)而已。常用的創(chuàng)建閉包的方法就是在函數(shù)內(nèi)部創(chuàng)建另一個(gè)函數(shù)。 前言 騰訊一面,相比阿里一面來(lái)說(shuō),騰訊一面先給打電話預(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é)一下,分享過(guò)程中掌握的知識(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元查看
<