| 

.NET C# Java Javascript Exception

4
Welches Ergebnis würdet ihr erwarten wenn ihr 2 Arrays merged? OK, ich verrate es euch, das Ergebnis sieht so aus: Beachtenswert ist dabei der Key, der vorher 20 war, ist nun 0. Das ist laut PHP Manual der Funktion array_merge() auch so gewollt, denn numerische Keys werden im Ergebnisarray neu durchnummeriert. Genau das jedoch verursachte […]

Welches Ergebnis würdet ihr erwarten wenn ihr 2 Arrays merged?

$a = array(
 'n' => 'n',
 'o' => 'o',
 'p' => 'p',
);

$b = array(
 'x' => 'x',
 20 => 14,
 'z' => 'z',
);

$c = array_merge($a, $b);

OK, ich verrate es euch, das Ergebnis sieht so aus:

array(6) {
 'n' =>
 string(1) "n"
 'o' =>
 string(1) "o"
 'p' =>
 string(1) "p"
 'x' =>
 string(1) "x"
 [0] =>
 int(14)
 'z' =>
 string(1) "z"
}

Beachtenswert ist dabei der Key, der vorher 20 war, ist nun 0. Das ist laut PHP Manual der Funktion array_merge() auch so gewollt, denn numerische Keys werden im Ergebnisarray neu durchnummeriert.

Genau das jedoch verursachte einen netten Bug, denn der Key war in diesem Fall wichtig. Wie können wir nun also 2 oder mehr Arrays zusammenführen und dabei auch die numerischen Keys erhalten? Ganz einfach:

$c = $a + $b;

Der + Operator erstellt genau das Ergebnis das wir wollen. $c sieht nun so aus:

array(6) {
 'n' =>
 string(1) "n"
 'o' =>
 string(1) "o"
 'p' =>
 string(1) "p"
 'x' =>
 string(1) "x"
 [20] =>
 int(14)
 'z' =>
 string(1) "z"
}

Die 20 ist erhalten geblieben. Bug gefixt.

php array-merge bugfixing
Weitere News:
Schreibe einen Kommentar:
Themen:
bugfixing array-merge php
Entweder einloggen... ...oder ohne Wartezeit registrieren
Benutzername
Passwort
Passwort wiederholen
E-Mail