Arrays in PHP verketten: Warum der Operator ins Stocken gerät
Beim Versuch, Arrays mit dem Operator „ “ zu verbinden, kann es zu unerwarteten Ergebnissen kommen. Betrachten Sie den folgenden Code:
$array = array('Item 1'); $array += array('Item 2'); var_dump($array);
Ausgabe:
array(1) { [0] => string(6) "Item 1" }
Warum funktioniert das nicht?
Schlüssel und Duplikate
Das Problem liegt in Array-Schlüsseln und doppelten Werten. Beide Arrays im angegebenen Code haben den Schlüssel „0“, wodurch sich die doppelten Werte gegenseitig überschreiben. Um die ursprüngliche Reihenfolge beizubehalten und Duplikate zu verhindern, verwendet PHP den ersten Wert für den Schlüssel „0“.
Lösung: Array-Zusammenführung
Um Arrays korrekt zu verketten, verwenden Sie array_merge ():
$arr1 = array('foo'); // Same as array(0 => 'foo') $arr2 = array('bar'); // Same as array(0 => 'bar') $combined = array_merge($arr1, $arr2);
array_merge() führt Arrays zusammen und behält Schlüssel-Wert-Paare bei.
Wann sollte der Operator verwendet werden?
Der Operator „ “ ist immer noch nützlich, wenn Arrays mit unterschiedlichen Schlüsseln kombiniert werden:
$arr1 = array('one' => 'foo'); $arr2 = array('two' => 'bar'); $combined = $arr1 + $arr2;
Dies führt zu:
array('one' => 'foo', 'two' => 'bar');
Zusammenfassend: Verwenden Sie array_merge() zum Verketten von Arrays, um die Reihenfolge beizubehalten und Schlüsselkonflikte zu vermeiden . Verwenden Sie den Operator „ “ zum Zusammenführen von Arrays mit eindeutigen Schlüsseln.
Das obige ist der detaillierte Inhalt vonWarum schlägt der ()-Operator beim Kombinieren von PHP-Arrays fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!