合并一个多维数组中键的值相同的数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并一个多维数组中键的值相同的数组相关的知识,希望对你有一定的参考价值。

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(

    ‘0‘=>array(
            ‘name‘=>‘热菜‘,
            ‘in‘=>‘in1‘,
            ‘on‘=>‘on2‘
        ),
    ‘1‘=>array(
            ‘name‘=>‘热菜‘,
            ‘in‘=>‘in2‘,
            ‘on‘=>‘on2‘
        ),
    ‘2‘=>array(
            ‘name‘=>‘热菜‘,
            ‘in‘=>‘in3‘,
            ‘on‘=>‘on3‘
        ),
    ‘3‘=>array(
            ‘name‘=>‘凉菜‘,
            ‘in‘=>‘in4‘,
            ‘on‘=>‘on4‘
        ),
    );

$new_name = array();
$data = array();
foreach ($arr as $key => $value) {
    if($value[‘name‘]){
        $new_name[] = $value[‘name‘];
    }
}
$res = array_unique($new_name);
foreach ($res as $k => $v) {
    foreach ($arr as $kk => $vv) {
        if($v == $vv[‘name‘]){
            $data[$k][‘name‘] = $v;
            $data[$k][‘data‘][] = $arr[$kk];
        }
    }
}
print_r($data);

 

 

 

原数组是:

技术分享

  合并后的数组是:

技术分享

 

以上是关于合并一个多维数组中键的值相同的数组的主要内容,如果未能解决你的问题,请参考以下文章

如何将数组中键的值添加到字典中? [关闭]

基于颜色键的多维数组排列顺序

根据对象中键的名称过滤对象数组[重复]

更改数组中键的名称

根据键的值合并数组

使用数字键对多维数组进行排序,但保持键相同只是更改顺序