Ich brauche zwei „dreidimensionale“ Arrays zu verbinden, aber mein Problem ist, dass, wenn die erste der Arrays Tasten die gleiche wie die anderen, nur das Ergebnis ist ... nicht wünschenswert.Der Versuch, zwei mehrdimensionale Arrays zu verschmelzen und bewahren Schlüssel
Ein Beispiel hier:
$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')
)
);
Das Ergebnis des Tuns $ a + $ b ist:
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
)
)
)
Und ich brauche, um PHP zu sagen: „Hey, die Tasten [1] [ 2] [X] und [1] [3] [X] in dem 'b'-Array ist nicht in dem 'A' Array, so verschmelzen sie im Ergebnis“.
Ich weiß nicht einmal so viel Sorgfalt, die man PHP nehmen wird, wenn alle drei Tasten gleich sind. Die Werte der Schlüssel sind Strings, also bin ich auch nicht daran interessiert, diese Werte zu summieren. Und ich muss bewahren die Schlüssel, so dass eine einfache array_merge nicht nützlich ist. Vielleicht muss ich es mit anderen Funktionen kombinieren, aber ich sehe nicht welche.
Vielen Dank im Voraus.
Aus Interesse haben Sie versucht, [array_merge_recursive] (http://www.php.net/manual/en/function.array-merge-recursive.php) oder [array_replace_recursive] (http: // www. php.net/manual/en/function.array-replace-recursive.php) um das gewünschte Ergebnis zu erhalten? – Tom
Ich möchte nicht, dass PHP mit mir spricht. Ich möchte nur mit PHP "reden", aber ich weiß nicht, wie es geht. – cooper
Schauen Sie sich hier: http://php.net/manual/en/function.array.php Sicherlich kann man etwas machen es Ihnen leicht finden. PHP verwendet normalerweise einen sinnvollen Namen für die Funktionen – Mojtaba