在PHP中靈活使用foreach+list處理多維數(shù)組的方法
先拋出問(wèn)題,有時(shí)候我們接收到的參數(shù)是多維數(shù)組,我們需要將他們轉(zhuǎn)成普通的數(shù)組,比如:
$arr = [ [1, 2, [3, 4]], [5, 6, [7, 8]], ];
我們需要的結(jié)果是元素1變成1,2,3,4,元素2變成5,6,7,8,這時(shí)候,我們就可以用foreach配合list來(lái)實(shí)現(xiàn),而且非常簡(jiǎn)單:
foreach ($arr as list($a, $b, list($c, $d))) { echo $a, ',', $b, ',', $c, ',', $d, PHP_EOL; }
是不是非常的簡(jiǎn)單。但是要注意哦,list拆解鍵值對(duì)形式的Hash數(shù)組時(shí)要指定鍵名,并且只有在7.1以后的版本才可以使用哦
$arr = [ ["a" => 1, "b" => 2], ["a" => 3, "b" => 4], ]; foreach ($arr as list("a" => $a, "b" => $b)) { echo $a, ',', $b, PHP_EOL; } foreach ($arr as ["a" => $a, "b" => $b]) { echo $a, ',', $b, PHP_EOL; }
注意:如果沒(méi)有寫鍵名,會(huì)輸出空而不會(huì)報(bào)錯(cuò),這是個(gè)BUG點(diǎn),千萬(wàn)要注意。
上述代碼中第二個(gè)寫法更簡(jiǎn)單直觀,由此發(fā)現(xiàn)我們還可以這樣來(lái)拆解數(shù)組。并且指定鍵值了就不用在乎他們的順序了:
["b" => $b, "a" => $a] = $arr[0]; echo $a, ',', $b, PHP_EOL;
原來(lái)list()還有這樣的語(yǔ)法糖,果然還是要不斷的學(xué)習(xí),一直使用卻從未深入了解過(guò)的方法竟然能有這么多的用處。不多說(shuō)了,接著研究手冊(cè)中其他好玩的東西去咯!
到此這篇關(guān)于在PHP中靈活使用foreach+list處理多維數(shù)組的文章就介紹到這了,更多相關(guān)PHP使用foreach+list處理多維數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
購(gòu)物車實(shí)現(xiàn)的幾種方式優(yōu)缺點(diǎn)對(duì)比
本文給大家分享的是實(shí)現(xiàn)購(gòu)物車的幾種方式,以及這幾種方式的優(yōu)缺點(diǎn)對(duì)比的情況,非常的詳細(xì),有需要的小伙伴可以參考下2018-05-05PHP下的Oracle客戶端擴(kuò)展(OCI8)安裝教程
這篇文章主要介紹了PHP下的Oracle客戶端擴(kuò)展(OCI8)安裝教程,本文在Linux系統(tǒng)中實(shí)現(xiàn),OCI8是用來(lái)連接Oracle數(shù)據(jù)庫(kù)的PHP擴(kuò)展模塊,需要的朋友可以參考下2014-09-09laravel5.6 框架郵件隊(duì)列database驅(qū)動(dòng)簡(jiǎn)單demo示例
這篇文章主要介紹了laravel5.6 框架郵件隊(duì)列database驅(qū)動(dòng),結(jié)合實(shí)例形式詳細(xì)分析了laravel5.6郵件隊(duì)列database驅(qū)動(dòng)具體設(shè)置、實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2020-01-01php中過(guò)濾非法字符的具體實(shí)現(xiàn)
非法字符過(guò)濾在某些情況下還是很有必要的,接下來(lái)為大家介紹下php中時(shí)如何實(shí)現(xiàn)的,感興趣的朋友不要錯(cuò)過(guò)2013-10-10PHP計(jì)算一年多少個(gè)星期和每周的開(kāi)始和結(jié)束日期
這篇文章主要介紹了PHP計(jì)算每周的開(kāi)始和結(jié)束日期,php實(shí)現(xiàn)計(jì)算一年多少周,同時(shí)計(jì)算出每一周的開(kāi)始日期和結(jié)束日期,需要的朋友可以參考下2014-07-07PHP實(shí)現(xiàn)簡(jiǎn)易圖形計(jì)算器
這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)簡(jiǎn)易圖形計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08解析php DOMElement 操作xml 文檔的實(shí)現(xiàn)代碼
本篇文章是對(duì)在php中DOMElement 操作xml 文檔的實(shí)現(xiàn)進(jìn)行了分析介紹。需要的朋友參考下2013-05-05注冊(cè)頁(yè)面之前先驗(yàn)證用戶名是否存在的php代碼
注冊(cè)頁(yè)面之前先驗(yàn)證用戶名是否存在的php代碼,需要的朋友可以參考下2012-07-07