PHP数组处理$arr1转换为$arr2

请编写一段程序将arr1转换为arr2

复制代码
$arr1 = array(
'0'=>array ('fid'=>1,'tid'=>1,'name'=>'Name1'),
'1'=>array ('fid'=>2,'tid'=>2,'name'=>'Name2'),
'2'=>array ('fid'=>3,'tid'=>5,'name'=>'Name3'),
'3'=>array ('fid'=>4,'tid'=>7,'name'=>'Name4'),
'4'=>array ('fid'=>5,'tid'=>9,'name'=>'Name5'),
);
复制代码
$arr2 = array (
    '1'=> array(
        '0' => array ('tid' => 1, 'name' => 'Name1'),
        '1'=> array ( 'tid' => 2, 'name' => 'Name2'),
        '2' => array ( 'tid' => 5, 'name' => 'Name3'),
        '3' => array ( 'tid' => 7, 'name' => 'Name4' ),
        '4' => array ('tid' => 9, 'name' => 'Name5' )
        )
    );

方法1:

php 复制代码
        $arr2 = [];
foreach ($arr1 as $key=>$value){
    unset($value['fid']);
    $arr2[1][] = $value;
        }
     print_r($arr2);

方法2:

php 复制代码
        foreach ($arr1 as $key=>$value){
            $item[$value['fid']][] = array(
                'tid'=>$value['tid'],
                'name'=>$value['name'],
            );
        }
        foreach ($item as $v){
            $arr2[] = $v;
        }
        var_dump($arr2);die();
相关推荐
凡人叶枫1 小时前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
Tony Bai1 小时前
再见,丑陋的 container/heap!Go 泛型堆 heap/v2 提案解析
开发语言·后端·golang
JMchen1232 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
小糯米6012 小时前
C++顺序表和vector
开发语言·c++·算法
froginwe112 小时前
JavaScript 函数调用
开发语言
独望漫天星辰2 小时前
C++ 多态深度解析:从语法规则到底层实现(附实战验证代码)
开发语言·c++
无小道2 小时前
Qt——事件简单介绍
开发语言·前端·qt
devmoon2 小时前
在 Paseo 测试网上获取 Coretime:On-demand 与 Bulk 的完整实操指南
开发语言·web3·区块链·测试用例·智能合约·solidity
kylezhao20192 小时前
C# 中的 SOLID 五大设计原则
开发语言·c#
凡人叶枫3 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++