为了账号安全,请及时绑定邮箱和手机立即绑定

PHP中如何将二维数组转换为三维数组?

PHP中如何将二维数组转换为三维数组?

PHP
叮当猫咪 2023-06-24 18:34:22
我有下面的二维数组$data = [    ['category'=>1,'attribute'=>1,'option'=>1],    ['category'=>1,'attribute'=>1,'option'=>2],    ['category'=>1,'attribute'=>2,'option'=>3],    ['category'=>1,'attribute'=>2,'option'=>4],    ['category'=>2,'attribute'=>3,'option'=>5],    ['category'=>2,'attribute'=>3,'option'=>6],    ['category'=>2,'attribute'=>4,'option'=>7],    ['category'=>2,'attribute'=>4,'option'=>8]];我想根据父子值将这个数组转换为三维数组,如下所示的数组。$data = [    '1'=>[        '1' => [            '1' => 1,            '2' => 2                ],        '2' => [            '3' => 3,            '4' => 4                ]    ],    '2'=>[        '3' => [            '5' => 5,            '6' => 6                ],        '4' => [            '7' => 7,            '8' => 8                ]    ],];在第一个迭代器中是迭代两次的“类别”键的值。第二次迭代针对“attribute”,同样第三次迭代针对“option”,迭代 8 次。补充:如果我想做相反的事情怎么办?我有第二个数组,想转换第一个数组。
查看完整描述

1 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

$arr = [

  ['category'=>1,'attribute'=>1,'option'=>1],

  ['category'=>1,'attribute'=>1,'option'=>2],

  ['category'=>1,'attribute'=>2,'option'=>3],

  ['category'=>1,'attribute'=>2,'option'=>4],

  ['category'=>2,'attribute'=>3,'option'=>5],

  ['category'=>2,'attribute'=>3,'option'=>6],

  ['category'=>2,'attribute'=>4,'option'=>7],

  ['category'=>2,'attribute'=>4,'option'=>8],

];


$newArr = [];


foreach($arr as $arrRow) {

    $newArr[$arrRow['category']][$arrRow['attribute']][$arrRow['option']] = $arrRow['option'];

}

在 PHP 中,数组键为数字的字符串将被转换为 int。


查看完整回答
反对 回复 2023-06-24
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号