配列のマージに関する質問

WBOY
リリース: 2016-06-13 12:54:43
オリジナル
1008 人が閲覧しました

配列のマージに関する質問
元の配列:

<br />
$args1 = Array(<br />
		'0' => array(<br />
				'0' => 'a',<br />
				'1' => array(<br />
					'0' => array ( 'col1' => 'A1', 'col2' => 0 )<br />
				)<br />
		),<br />
		'1' => array(<br />
				'0' => 'b',<br />
				'1' => array(<br />
					'0' => array ( 'col1' => 'B1', 'col2' => 1 )<br />
				)<br />
		)<br />
);<br />
$args2 = Array(<br />
		'0' => array(<br />
				'0' => 'a',<br />
				'1' => array(<br />
					'0' => Array ( 'col1' => 'A2', 'col2' => 0 ), <br />
					'1' => Array ( 'col1' => 'A3', 'col2' => 0 ) <br />
				)<br />
		)<br />
);<br />
ログイン後にコピー


ターゲット配列:
<br />
Array(<br />
		'0' => array(<br />
				'0' => 'a',<br />
				'1' => array(<br />
					'0' => array ( 'col1' => 'A1', 'col2' => 0 ),<br />
                                        '1' => Array ( 'col1' => 'A2', 'col2' => 0 ), <br />
					'2' => Array ( 'col1' => 'A3', 'col2' => 0 ) <br />
				)<br />
		),<br />
		'1' => array(<br />
				'0' => 'b',<br />
				'1' => array(<br />
					'0' => array ( 'col1' => 'B1', 'col2' => 1 )<br />
				)<br />
		)<br />
);<br />
ログイン後にコピー


-----解決策---------
$res = array();<br />
foreach($args1 as $item) $res[$item[0]] = $item;<br />
foreach($args2 as $item) $res[$item[0]][1] = array_merge($res[$item[0]][1], $item[1]);<br />
<br />
print_r(array_values($res));
ログイン後にコピー
配列
(
[0] => 配列
(
[0] = & gt;
[1] => 配列
(
以来 (
[col1] =>A1
[col2] => 0
)

                                                                                                                                                                                                                                                                                        ​  (

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