ホームページ > バックエンド開発 > PHPチュートリアル > PHP 配列のマージについて質問してください~お願いします

PHP 配列のマージについて質問してください~お願いします

WBOY
リリース: 2016-06-13 12:21:24
オリジナル
1068 人が閲覧しました

PHPの配列のマージについて質問があります。

$arr1=array(<br />            "0"=>array(<br />                'id' => '2',<br />                'b' => 0,<br />                'num' => 4<br /><br />                ),<br /><br />            "1"=>array(<br />                'id' => '1',<br />                'b' => 0,<br />                'num' => 4 <br />                )<br />        );<br />        $arr2=array(<br />            "1"=>array(<br />                'id' => '3',<br />                'b' => 0,<br />                'num' => 4<br /><br />                ),<br /><br />            "2"=>array(<br />                'id' => '2',<br />                'b' => 0,<br />                'num' => 4 <br />                )<br />        );
ログイン後にコピー

この2つの配列をマージしたい場合、条件を決めて、2つの要素がidとbのときのNUM値を加算してください。は同じです。新しい配列のキー値を並べ替えます 0 1 2 3
専門家のアドバイスをお願いします。ありがとう。
------解決策のアイデア----------------------
$arr1=array(<br />            "0"=>array(<br />                'id' => '2',<br />                'b' => 0,<br />                'num' => 4<br /> <br />                ),<br /> <br />            "1"=>array(<br />                'id' => '1',<br />                'b' => 0,<br />                'num' => 4 <br />                )<br />        );<br /> $arr2=array(<br />            "1"=>array(<br />                'id' => '3',<br />                'b' => 0,<br />                'num' => 4<br /> <br />                ),<br /> <br />            "2"=>array(<br />                'id' => '2',<br />                'b' => 0,<br />                'num' => 4 <br />                )<br />        );<br />foreach($arr1 as $v) $res["$v[id]_$v[b]"] = $v;<br />foreach($arr2 as $v)<br />  if(isset($res["$v[id]_$v[b]"])) $res["$v[id]_$v[b]"]['num'] += $v['num'];<br />  else $res["$v[id]_$v[b]"] = $v;<br />print_r(array_values($res));
ログイン後にコピー
Array<br />(<br />    [0] => Array<br />        (<br />            [id] => 2<br />            [b] => 0<br />            [num] => 8<br />        )<br /><br />    [1] => Array<br />        (<br />            [id] => 1<br />            [b] => 0<br />            [num] => 4<br />        )<br /><br />    [2] => Array<br />        (<br />            [id] => 3<br />            [b] => 0<br />            [num] => 4<br />        )<br /><br />)<br /><br />
ログイン後にコピー

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