如何基于键值下标重组不规则二维数组?

如何基于键值下标重组不规则二维数组?

巧妙重组不规则二维数组:基于键值下标的php解决方案

本文介绍一种高效方法,利用PHP将不规则二维数组,根据键值下标重新组合成规则数组。 目标是将具有相同键值下标的元素收集到一起。

示例数据:

$arr = [     ['测试-2票', '颜夕-2票'],     ['小白-2票', '小黑-2票'],     ['张张-2票', '小黄-2票', '小绿-2票'], ];

目标结果:

[     [         '测试-2票',         '小白-2票',         '张张-2票'     ],     [         '颜夕-2票',         '小黑-2票',         '小黄-2票'     ],     [         '小绿-2票'     ] ]

PHP的array_map函数结合…展开运算符,可以完美解决此问题。

以下代码片段展示了如何使用array_map函数实现:

<?php $arr = [     ['测试-2票', '颜夕-2票'],     ['小白-2票', '小黑-2票'],     ['张张-2票', '小黄-2票', '小绿-2票'], ];  // PHP 7.4+  简洁的箭头函数写法 $result = array_map(fn(...$i) => $i, ...$arr);  // 或者使用传统匿名函数 (适用于PHP 5.3+) // $result = array_map(function (...$list) { //     return $list; // }, ...$arr);  var_dump($result); ?>

这段代码将每个子数组元素作为参数传递给匿名函数(或箭头函数),函数直接返回这些元素,从而实现按键值下标重组数组。 请注意,此代码修正了原始问题示例中关于“小绿-2票”下标的错误。

通过这个方法,我们可以轻松地处理不规则二维数组,并将其转换为更易于管理和操作的结构。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享