在PHP中怎么灵活使用foreach+list处理多维数

发布时间:2021-07-13 16:02:24 作者:chen
来源:亿速云 阅读:135

这篇文章主要讲解了“在PHP中怎么灵活使用foreach+list处理多维数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在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处理多维数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 多版本 Python 在使用中的灵活切换
  2. 怎么在php中合并两个多维数组

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:解决iview多表头动态更改列元素发生的错误的方法

下一篇:静态成员在PHP中是如何继承的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》