神よ、至急助けてください...
2 つの 2 次元配列
$cart = arrray(array("id"=1,"num="2")); (セッション内の配列値)
最初のパス $newcart = arrray(array("id"=1,"num="4");array("id"=2,"num="4"))
2 番目のパス $newcart = arrray(array("id"=9,"num="4");array("id"=1,"num="5"))
3 番目のアップロード 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 />
$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);