Ich habe zwei Arrays:Wie Array zusammenführen und Keys erhalten?
$array1 = array('a' => 1, 'b' => 2, 'c' => 3);
$array2 = array('d' => 4, 'e' => 5, 'f' => 6, 'a' => 'new value', '123' => 456);
ich sie zusammenführen möchten und die Schlüssel zu halten und die Reihenfolge und nicht neu indizieren !!
Wie komme ich so?
Array
(
[a] => new value
[b] => 2
[c] => 3
[d] => 4
[e] => 5
[f] => 6
[123] => 456
)
Ich versuche zu array_merge(), aber es wird nicht die Schlüssel aufbewahrt werden:
print_r(array_merge($array1, $array2));
Array
(
[a] => 'new value'
[b] => 2
[c] => 3
[d] => 4
[e] => 5
[f] => 6
[0] => 456
)
ich an die Gewerkschaft Betreiber versuchen, aber es wird nicht das Element zu überschreiben:
print_r($array1 + $array2);
Array
(
[a] => 1 <-- not overwriting
[b] => 2
[c] => 3
[d] => 4
[e] => 5
[f] => 6
[123] => 456
)
Ich versuche, Ort zu tauschen, aber die Bestellung ist falsch, nicht meine Notwendigkeit:
print_r($array2 + $array1);
Array
(
[d] => 4
[e] => 5
[f] => 6
[a] => new value
[123] => 456
[b] => 2
[c] => 3
)
Ich möchte keine Schleife verwenden, gibt es eine Möglichkeit für hohe Leistung?
Dont Sie spiegeln nur die Reihenfolge der Array merge ? array_merge ($ array2, $ array1); –
Das Problem mit array_merge() ist, dass es den Schlüssel "123" sieht und interpretiert es als numerisch, die neu indiziert wird. – jcsanyi