摘要:在寫的數(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
摘要:標(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...
摘要:以上例程會(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 ...
摘要:前言騰訊一面,相比阿里一面來(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é)生,大一...
摘要:那些瑣碎的知識(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í)...
閱讀 2406·2021-11-18 10:02
閱讀 1922·2021-10-13 09:40
閱讀 2999·2021-09-07 10:07
閱讀 2106·2021-09-04 16:48
閱讀 1005·2019-08-30 13:18
閱讀 2452·2019-08-29 14:03
閱讀 2922·2019-08-29 12:54
閱讀 3155·2019-08-26 11:41