当前位置: 代码迷 >> PHP >> 帮忙转化一个数组,该怎么处理
  详细解决方案

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

热度:101   发布时间:2016-04-28 23:53:07.0
帮忙转化一个数组
有一个这样结构的数组
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
<?php$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'),);foreach($arr as $v){    $tmp[$v['zk']]['zk']=$v['zk'];    $tmp[$v['zk']]['mx'][]=array_splice($v,1,2);}print_r(array_values($tmp));
  相关解决方案