2つの "3次元"配列をマージする必要がありますが、私の問題は配列の最初のキーが他のものと同じ場合、結果はちょうど...望ましい。2つの多次元配列とキーをマージしよう
ここでは例:
$a = array(
1=>array(
-1 => array(-1=>'a: 1 -1 -1',0=>'a: 1 -1 0',1=>'a: 1 -1 1'),
0 => array(-1=>'a: 1 0 -1', 0=>'a: 1 0 0', 1=>'a: 1 0 1'),
1 => array(-1=>'a: 1 1 -1', 0=>'a: 1 1 0', 1=>'a: 1 1 1')
)
);
$b = array(
1=>array(
1 => array(-1=>'b: 1 1 -1',0=>'b: 1 1 0',1=>'b: 1 1 1'),
2 => array(-1=>'b: 1 2 -1',0=>'b: 1 2 0',1=>'b: 1 2 1'),
3 => array(-1=>'b: 1 3 -1',0=>'b: 1 3 0',1=>'b: 1 3 1')
)
);
の$ A + $ bをやっての結果は次のとおりです。
Array
(
[1] => Array
(
[-1] => Array
(
[-1] => a: 1 -1 -1
[0] => a: 1 -1 0
[1] => a: 1 -1 1
)
[0] => Array
(
[-1] => a: 1 0 -1
[0] => a: 1 0 0
[1] => a: 1 0 1
)
[1] => Array
(
[-1] => a: 1 1 -1
[0] => a: 1 1 0
[1] => a: 1 1 1
)
)
)
そして、私はちょっと、キー[1]」、PHPに言う必要があります[ 2] [X]と[1] [3] [b]配列の[X]は 'a'配列にないため、結果にマージします。
3つのキーがすべて同じ場合、どのPHPを使用するのか気にしません。キーの値は文字列なので、その値を合計することには興味がありません。そしてはキーを保存する必要があるので、単純なarray_mergeは役に立ちません。私はそれを他の機能と組み合わせる必要があるかもしれませんが、どちらが見えないのでしょうか。
ありがとうございます。
興味のある方は、[array_merge_recursive](http://www.php.net/manual/en/function.array-merge-recursive.php)または[array_replace_recursive](http:// www。 php.net/manual/en/function.array-replace-recursive.php)希望の結果を得るには? – Tom
私はPHPが私に話したがりません。私はちょうどPHPと "話したい"が、私はそれを行う方法にはありません。 – cooper
ここをクリックしてください:http://php.net/manual/en/function.array.php確かに、あなたはそれを簡単にするための何かを見つけることができます。 PHPは通常、関数に意味のある名前を使用します – Mojtaba