在PHP中灵活使用foreach+list处理多维数组的方法
时间:2022-05-10 来源:互联网
先抛出问题,有时候我们接收到的参数是多维数组,我们需要将他们转成普通的数组,比如:
$arr = [ [1, 2, [3, 4]], [5, 6, [7, 8]], ];
我们需要的结果是元素1变成1,2,3,4,元素2变成5,6,7,8,这时候,我们就可以用foreach配合list来实现,而且非常简单:
foreach ($arr as list($a, $b, list($c, $d))) { echo $a, ',', $b, ',', $c, ',', $d, PHP_EOL; }
是不是非常的简单。但是要注意哦,list拆解键值对形式的Hash数组时要指定键名,并且只有在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; }
注意:如果没有写键名,会输出空而不会报错,这是个BUG点,千万要注意。
上述代码中第二个写法更简单直观,由此发现我们还可以这样来拆解数组。并且指定键值了就不用在乎他们的顺序了:
["b" => $b, "a" => $a] = $arr[0]; echo $a, ',', $b, PHP_EOL;
原来list()还有这样的语法糖,果然还是要不断的学习,一直使用却从未深入了解过的方法竟然能有这么多的用处。不多说了,接着研究手册中其他好玩的东西去咯!
到此这篇关于在PHP中灵活使用foreach+list处理多维数组的文章就介绍到这了,更多相关PHP使用foreach+list处理多维数组内容请搜索PHP爱好者以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP爱好者!
相关阅读更多 +
-
这就是江湖新手必备小技巧-这就是江湖新手入门 2025-04-17
-
群英风华录强度排行如何查看-群英风华录强度排行榜 2025-04-17
-
植物大战僵尸杂交版无尽模式如何搭配最强阵容-植物大战僵尸杂交版无尽模式最强阵容搭配 2025-04-17
-
王者荣耀老夫子皮肤排行-老夫子手感最好的皮肤是哪个 2025-04-17
-
山海镜花平民阵容如何搭配-山海镜花平民玩家阵容搭配 2025-04-17
-
想不想修真灵宝法师的作用是什么-想不想修真灵宝法师有何用处 2025-04-17
最近更新