您好,登錄后才能下訂單哦!
這篇文章主要講解了“在PHP中怎么靈活使用foreach+list處理多維數”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“在PHP中怎么靈活使用foreach+list處理多維數”吧!
先拋出問題,有時候我們接收到的參數是多維數組,我們需要將他們轉成普通的數組,比如:
1$arr = [
2 [1, 2, [3, 4]],
3 [5, 6, [7, 8]],
4];
我們需要的結果是元素1變成1,2,3,4,元素2變成5,6,7,8,這時候,我們就可以用foreach配合list來實現,而且非常簡單:
1foreach ($arr as list($a, $b, list($c, $d))) {
2 echo $a, ',', $b, ',', $c, ',', $d, PHP_EOL;
3}
是不是非常的簡單。但是要注意哦,list拆解鍵值對形式的Hash數組時要指定鍵名,并且只有在7.1以后的版本才可以使用哦
1$arr = [
2 ["a" => 1, "b" => 2],
3 ["a" => 3, "b" => 4],
4];
5
6foreach ($arr as list("a" => $a, "b" => $b)) {
7 echo $a, ',', $b, PHP_EOL;
8}
9
10foreach ($arr as ["a" => $a, "b" => $b]) {
11 echo $a, ',', $b, PHP_EOL;
12}
注意:如果沒有寫鍵名,會輸出空而不會報錯,這是個BUG點,千萬要注意。
上述代碼中第二個寫法更簡單直觀,由此發現我們還可以這樣來拆解數組。并且指定鍵值了就不用在乎他們的順序了:
1["b" => $b, "a" => $a] = $arr[0];
2echo $a, ',', $b, PHP_EOL;
原來list()還有這樣的語法糖,果然還是要不斷的學習,一直使用卻從未深入了解過的方法竟然能有這么多的用處。不多說了,接著研究手冊中其他好玩的東西去咯!
測試代碼:https://github.com/zhangyue0503/dev-blog/blob/master/php/201911/source/%E5%9C%A8PHP%E4%B8%AD%E7%81%B5%E6%B4%BB%E4%BD%BF%E7%94%A8foreach%2Blist%E5%A4%84%E7%90%86%E5%A4%9A%E7%BB%B4%E6%95%B0%E7%BB%84.php
感謝各位的閱讀,以上就是“在PHP中怎么靈活使用foreach+list處理多維數”的內容了,經過本文的學習后,相信大家對在PHP中怎么靈活使用foreach+list處理多維數這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。