大神 急

WBOY
リリース: 2016-06-13 12:58:31
オリジナル
947 人が閲覧しました

神よ、至急助けてください...
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 />
ログイン後にコピー


ショッピング カートを作成するときは、配列のキーとして id を使用するのが最適です。これは、操作の追加、変更、削除に非常に便利です。

記号に注意してください。配列が指す値は「=」ではなく「=>」です。
------解決策---------
$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);
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート