array( "0" &"/> array( "0" &">

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

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

WBOY
WBOYオリジナル
2016-06-13 12:21:241040ブラウズ

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 />

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。