当前位置:Gxlcms > PHP教程 > 帮忙转化一个数组,该怎么处理

帮忙转化一个数组,该怎么处理

时间:2021-07-01 10:21:17 帮助过:17人阅读

帮忙转化一个数组
有一个这样结构的数组
PHP code

$arr = array(
    array('goods_id'=>'1','sku_id'=>'001','zk'=>'0.5'),
    array('goods_id'=>'1','sku_id'=>'002','zk'=>'0.5'),
    array('goods_id'=>'1','sku_id'=>'006','zk'=>'0.5'),

    array('goods_id'=>'2','sku_id'=>'003','zk'=>'0.8'),
    array('goods_id'=>'2','sku_id'=>'004','zk'=>'0.8'),
);


转化成
PHP code

$_arr = array(
    '1' =>array(
                'zk'=>'0.5',
                'mx'=>array(
                    array('sku_id'=>'001','zk'=>'0.5'),
                    array('sku_id'=>'002','zk'=>'0.5'),
                    array('sku_id'=>'006','zk'=>'0.5'),
                ),
    '2' =>array(
                'zk'=>'0.8',
                'mx'=>array(
                    array('sku_id'=>'003','zk'=>'0.8'),
                    array('sku_id'=>'004','zk'=>'0.8'),
                ),
    )
);



------解决方案--------------------
PHP code
'1','sku_id'=>'001','zk'=>'0.5'),
    array('goods_id'=>'1','sku_id'=>'002','zk'=>'0.5'),
    array('goods_id'=>'1','sku_id'=>'006','zk'=>'0.5'),

    array('goods_id'=>'2','sku_id'=>'003','zk'=>'0.8'),
    array('goods_id'=>'2','sku_id'=>'004','zk'=>'0.8'),
);

foreach($arr as $v){
    $tmp[$v['zk']]['zk']=$v['zk'];
    $tmp[$v['zk']]['mx'][]=array_splice($v,1,2);
}
print_r(array_values($tmp));                     

人气教程排行