在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爱好者!
相关阅读更多 +
-
币安交易所最新版app下载-NXPC官方支持平台 2025-05-23
-
生活没骗我,只是我太真了 2025-05-23
-
筑城记中世纪多少钱(筑城史话) 2025-05-23
-
币安交易所安卓版官方下载-NXPC交易首选平台 2025-05-23
-
三角洲行动摩斯密码5月23日是什么(三角洲行动游戏) 2025-05-23
-
幻想生活i毕业武器素材怎么获得(幻想生活主线攻略) 2025-05-23
最近更新