两个二维数组  
  $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)
                                     ) 怎么就实现   大神求助啊

解决方案 »

  1.   

    没看懂,id为9 的num怎么变成5了。id=1 的也不知道怎么来的。
      

  2.   


    $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,这样对于添加修改删除操作都狠方便。符号要注意一下  数组指向值是"=>" ,不是"="。
      

  3.   

    你这样是可以的 如果   就用它自增长的key    怎么去实现呢?? 你这样就不行了?? 
      

  4.   

    $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); 
      

  5.   


    为什么非要用自增长key ?