Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 分组元素数组依赖密钥检查?_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 分组元素数组依赖密钥检查?

Php 分组元素数组依赖密钥检查?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个数组: Array ( [0] => Array ( [id] => 0 [type] => type1 [aa] => 1.00 [bb] => 0.00 [cc] => 1.00 [group] => new ), [1] => Array

我有一个数组:

Array
    (
    [0] => Array
        (
            [id] => 0
            [type] => type1
            [aa] => 1.00
            [bb] => 0.00
            [cc] => 1.00
            [group] => new
        ),
    [1] => Array
        (
            [id] => 1
            [type] => type2
            [aa] => 1.00
            [bb] => 0.00
            [cc] => 1.00
            [group] => new
        ),
    [2] => Array
        (
            [id] => 4521081
            [type] => type3
            [aa] => 1.00
            [bb] => 0.00
            [cc] => 1.00
            [group] => old
        )
);
如何对上述数组基键检查进行分组。结果如下:

Array(
    'new'=>array(
        'type1'=>array(
                    [id] => 0
                    [aa] => 1.00
                    [bb] => 0.00
                    [cc] => 1.00
                    ),
        'type2'=>array(
                        [aa] => 1.00
                        [bb] => 0.00
                        [cc] => 1.00
                        )
    ),
    'old'=>array(
             'type3'=>array(
                        [aa] => 1.00
                        [bb] => 0.00
                        [cc] => 1.00
                        )
            )
);
试试这个:

$res    = array();
foreach($your_array as $val){
   $res[$val['group']][$val['type']]['id']  = $val['id'];
   $res[$val['group']][$val['type']]['aa']  = $val['aa'];
   $res[$val['group']][$val['type']]['bb']  = $val['bb'];
   $res[$val['group']][$val['type']]['cc']  = $val['cc'];
}

echo "<pre>";
print_r($res);
$res=array();
foreach($val形式的_数组){
$res[$val['group'][$val['type']['id']=$val['id'];
$res[$val['group'][$val['type']['aa']=$val['aa'];
$res[$val['group'][$val['type']['bb']=$val['bb'];
$res[$val['group'][$val['type']['cc']=$val['cc'];
}
回声“;
印刷品(港币);;
我有:


它有更大的尺寸,但看起来很漂亮,有时您也需要分组。

您是否尝试过使用
foreach
foreach( $array as $each )
{
   $tmp = $each;
   unset( $tmp['group'],$tmp['type'] );
   $output[$each['group']][$each['type']] = $tmp;
}
foreach($array as $each)
{
  $output[$each['group']] = $each;
}