
按 key 下标循环生成新数组
你有二维数组,需要通过 key 的下标来循环并组成一个新的数组。例如,你希望将以下数组:
[
1 => [
0 => '测试-2票',
1 => '小白-2票',
2 => '张张-2票'
],
2 => [
0 => '颜夕-2票',
1 => '小黑-2票',
2 => '小黄-2票'
],
3 => [
0 => '小绿-2票'
]
]转换为:
[ [ '测试-2票', '颜夕-2票' ], [ '小白-2票', '小黑-2票' ], [ '张张-2票', '小黄-2票', '小绿-2票' ] ]
实现方法
立即学习“PHP免费学习笔记(深入)”;
借助 php 自带的 array_map 函数,你可以轻松实现这个功能:
$arr = [
1 => [
0 => '测试-2票',
1 => '小白-2票',
2 => '张张-2票'
],
2 => [
0 => '颜夕-2票',
1 => '小黑-2票',
2 => '小黄-2票'
],
3 => [
0 => '小绿-2票'
]
];
$result = array_map(function (...$list) {
return $list;
}, ...$arr);
var_dump($result);输出结果:
array(3) {
[0] => array(2) {
[0] => string(18) "测试-2票"
[1] => string(18) "颜夕-2票"
}
[1] => array(2) {
[0] => string(18) "小白-2票"
[1] => string(18) "小黑-2票"
}
[2] => array(3) {
[0] => string(18) "张张-2票"
[1] => string(18) "小黄-2票"
[2] => string(18) "小绿-2票"
}
}由此可见,新的数组已按 key 的下标进行了循环生成。
在 php 7.4 及以上版本中,你可以使用更简便的箭头函数语法:
$result = array_map(fn(...$i) => $i, ...$arr); var_dump($result);
以上就是如何用PHP根据二维数组键值下标生成新的数组?的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号