Arrays mit dem Operator „ “ zusammenführen: Sein Verhalten entschlüsseln
In PHP erleichtert der Operator das Zusammenführen zweier Arrays durch Anhängen der Elemente des rechten Arrays zum linken Array. Es ist jedoch von entscheidender Bedeutung zu verstehen, wie mit doppelten Schlüsseln umgegangen wird.
Wie es funktioniert
Laut PHP-Handbuch:
The + operator returns the right-hand array appended to the left-hand array; for keys that exist in both arrays, the elements from the left-hand array will be used, and the matching elements from the right-hand array will be ignored.
Beispiel
Bedenken Sie Folgendes Beispiel:
$test = array('hi'); $test += array('test', 'oh'); var_dump($test);
Ausgabe:
array(2) { [0]=> string(2) "hi" [1]=> string(2) "oh" }
Erklärung
Der Operator hängt die Elemente aus dem zweiten Array (test, oh) an das Ende des ersten Arrays (hi). Es ersetzt jedoch nicht den doppelten Schlüssel (hi), sodass er im zusammengeführten Array verbleibt.
Vergleich mit array_merge()
Der Operator unterscheidet sich vom array_merge()-Funktion in ihrem Verhalten beim Umgang mit doppelten Schlüsseln. array_merge() überschreibt doppelte Schlüssel aus dem linken Array mit Schlüsseln aus dem rechten Array.
Implementierungsdetails
Die C-Level-Implementierung des Operators kann finden Sie in php-src/Zend/zend_operators.c. Die Logik entspricht dem folgenden Snippet:
$union = $array1; foreach ($array2 as $key => $value) { if (false === array_key_exists($key, $union)) { $union[$key] = $value; } }
Dieses Snippet erstellt ein neues Array ($union) basierend auf dem ersten Array ($array1) und fügt nicht doppelte Schlüssel und Werte aus dem zweiten Array hinzu ( $array2).
Fazit
Der Operator in PHP bietet eine bequeme Möglichkeit zum Zusammenführen Arrays, aber es ist wichtig, sein spezifisches Verhalten zu verstehen, wenn es auf doppelte Schlüssel stößt. Die Funktion array_merge() bietet eine Alternative, die doppelte Schlüssel überschreibt und so eine bessere Kontrolle über das zusammengeführte Array ermöglicht.
Das obige ist der detaillierte Inhalt vonWie führt der PHP-Operator „ ' Arrays zusammen und behandelt doppelte Schlüssel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!