这篇文章主要介绍了在PHP中灵活使用foreach+list处理多维数组的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
先抛出问题,有时候我们接收到的参数是多维数组,我们需要将他们转成普通的数组,比如:
$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()还有这样的语法糖,果然还是要不断的学习,一直使用却从未深入了解过的方法竟然能有这么多的用处。不多说了,接着研究手册中其他好玩的东西去咯!
测试代码: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处理多维数组内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:在PHP中灵活使用foreach+list处理多维数组的方法
基础教程推荐
- PHP实现抽奖系统的示例代码 2023-06-26
- php实现构建排除当前元素的乘积数组方法 2022-11-23
- PHP+MySQL+sphinx+scws实现全文检索功能详解 2023-01-31
- 设定php简写功能的方法 2023-03-17
- Yii框架连表查询操作示例 2023-02-13
- PHP手机短信验证码实现流程详解 2022-10-18
- php数组函数序列之array_sum() – 计算数组元素值之和 2024-01-15
- php实现数组筛选奇数和偶数示例 2024-02-05
- PHP判断一个字符串是否是回文字符串的方法 2024-01-31
- PHP实现文件下载【实例分享】 2024-04-27
