Heim > Backend-Entwicklung > PHP-Tutorial > Wie führt der PHP-Operator „ ' Arrays zusammen und behandelt doppelte Schlüssel?

Wie führt der PHP-Operator „ ' Arrays zusammen und behandelt doppelte Schlüssel?

Barbara Streisand
Freigeben: 2024-12-07 10:26:13
Original
581 Leute haben es durchsucht

How Does PHP's

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.
Nach dem Login kopieren

Beispiel

Bedenken Sie Folgendes Beispiel:

$test = array('hi');
$test += array('test', 'oh');
var_dump($test);
Nach dem Login kopieren

Ausgabe:

array(2) {
  [0]=>
  string(2) "hi"
  [1]=>
  string(2) "oh"
}
Nach dem Login kopieren

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;
    }
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage