您好,欢迎访问一九零五行业门户网

大神 急

大神求助 急...
两个二维数组  
  $cart = arrray(array(id=1,num=2));(session中的array值)
第一次传  $newcart = arrray(array(id=1,num=4);array(id=2,num=4))
第二次传  $newcart = arrray(array(id=9,num=4);array(id=1,num=5))
第三次传  id 是随时变的.... 
  。。。。。
怎么样遍历 使它变成   $cart  = arrray(
                                      [0]=>array(id=>1,num=>10)
                                      [1]=>array(id=>2,num=>4)
                                      [2]=>array(id=>9,num=>5)
                                     )
怎么就实现   大神求助啊
------解决方案--------------------
没看懂,id为9 的num怎么变成5了。id=1 的也不知道怎么来的。
------解决方案--------------------
$cart = array(1=>array(id=>1,num=>2),2=>array(id=>2,num=>5));
$newcart = array(1=>array(id=>1,num=>4),3=>array(id=>3,num=>4));
foreach( $newcart as $k=>$v ){
if( $cart[$v['id']] ){
$cart[$v['id']]['num'] += $v['num'];
}
else{
$cart = array_merge($cart,array($v));
}
}

做购物车最好是用 id作为数组的key,这样对于添加修改删除操作都狠方便。
符号要注意一下 数组指向值是=> ,不是=。
------解决方案--------------------
$cart = array(array(id=>1,num=>2));
$newcart = array(array(id=>1,num=>4),array(id=>2,num=>4));
foreach($cart as $v) $t[$v['id']]+=$v['num'];
foreach($newcart as &$v){
$v['num']+=$t[$v['id']];
}
$cart =$newcart;
print_r($cart);
其它类似信息

推荐信息