大神 急

WBOY
WBOYOriginal
2016-06-13 12:58:31947browse

大神求助 急...
两个二维数组  
  $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 的也不知道怎么来的。
------解决方案--------------------

<br />
$cart    = array(1=>array("id"=>1,"num"=>2),2=>array("id"=>2,"num"=>5));<br />
$newcart = array(1=>array("id"=>1,"num"=>4),3=>array("id"=>3,"num"=>4));<br />
foreach( $newcart as $k=>$v ){<br />
<br />
   if( $cart[$v['id']] ){<br />
         <br />
       $cart[$v['id']]['num'] += $v['num']; <br />
     <br />
   }<br />
   else{<br />
      <br />
      $cart = array_merge($cart,array($v));<br />
     <br />
   }<br />
<br />
}<br />


做购物车最好是用 id作为数组的key,这样对于添加修改删除操作都狠方便。

符号要注意一下  数组指向值是"=>" ,不是"="。
------解决方案--------------------
$cart = array(array("id"=>1,"num"=>2));<br />
 <br />
 $newcart = array(array("id"=>1,"num"=>4),array("id"=>2,"num"=>4));<br />
 foreach($cart as $v) $t[$v['id']]+=$v['num'];<br />
  <br />
 foreach($newcart as &$v){<br />
         $v['num']+=$t[$v['id']];<br />
 }<br />
$cart =$newcart; <br />
print_r($cart);
 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn