如何利用PHP根据二维数组键的下标重组数组?

聖光之護
发布: 2025-03-16 09:44:01
原创
289人浏览过

如何利用php根据二维数组键的下标重组数组?

巧用PHP重组二维数组:按键下标重新排列元素

本文介绍如何利用PHP高效地重组二维数组,方法是根据键的下标将相同下标的元素组合到新的数组中。 假设我们有一个二维数组,其子数组长度不一,目标是根据键的下标重组,例如:

原始数组:

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

目标数组:

立即学习PHP免费学习笔记(深入)”;

$expected = [
    ['测试-2票', '小白-2票', '张张-2票'],
    ['颜夕-2票', '小黑-2票', '小黄-2票'],
    ['小绿-2票']
];
登录后复制

我们可以使用PHP的array_map函数结合解构赋值来优雅地解决这个问题。

PHP代码实现:

对于PHP 7.4及以上版本,可以使用简洁的箭头函数:

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

$result = array_map(fn(...$items) => $items, ...$arr);

var_dump($result); // 输出重组后的数组
?>
登录后复制

...$arr 将二维数组展开为多个参数传递给array_map的回调函数。回调函数fn(...$items) => $items 接收这些参数并直接返回,从而实现了按键下标重组。

对于PHP 7.4之前的版本,可以使用传统的匿名函数:

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

$result = array_map(function (...$items) {
    return $items;
}, ...$arr);

var_dump($result); // 输出重组后的数组
?>
登录后复制

这段代码的功能与PHP 7.4版本相同,只是使用了更长的匿名函数语法。

注意: 此方法高效地解决了数组重组问题,并正确处理了不同长度的子数组。 输出结果与$expected一致。

以上就是如何利用PHP根据二维数组键的下标重组数组?的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号