Heim >Backend-Entwicklung >PHP-Tutorial >Detailliertes Beispiel für den Unterschied zwischen der PHP-Zusammenführung von Arrays mithilfe des +-Operators und der Array-Funktion array_merge
PHP führt Arrays im Allgemeinen auf zwei Arten zusammen: Eine besteht darin, direkt mithilfe des Pluszeichens hinzuzufügen, die andere darin, die Funktion array_merge zu verwenden, um das auszuführen Außerdem führt array_merge() die Zellen von zwei oder mehr Arrays zusammen und die Werte in einem Array werden an das vorherige Array angehängt. Gibt das resultierende Array zurück. Wenn im Eingabearray derselbe Schlüsselname string vorhanden ist, überschreibt der Wert nach dem Schlüsselnamen den vorherigen Wert. Wenn das Array jedoch numerische Schlüssel enthält, überschreiben die nachfolgenden Werte nicht die ursprünglichen Werte, sondern werden an diese angehängt.
Es gibt einen kleinen Unterschied zwischen den beiden:
Wenn der Array-Schlüsselname ein numerischer Schlüsselname ist, werden die beiden Arrays zusammengeführt Wenn Sie KEY verwenden, überschreibt die Verwendung von array_merge() nicht den ursprünglichen Wert, aber die Verwendung von „+“ zum Zusammenführen von Arrays gibt den ersten Wert als Endergebnis zurück und „verwirft“ diese Werte im Nachfolgende Arrays mit demselben Schlüsselnamen werden deaktiviert (Hinweis: Der zuerst angezeigte Wert wird nicht überschrieben, sondern beibehalten.) Wenn derselbe Array-Schlüsselname ein Zeichen ist, ist der „+“ -Operator derselbe wie wenn der Schlüsselname eine Zahl ist, aber array_merge() überschreibt den vorherigen Wert desselben Schlüsselnamens.
Instanz:
<?php $array1 = array(1=>'0'); $array2 = array(1=> "data"); $result1 = $array2 + $array1;/*结果为$array2的值*/ print_r($result); $result = $array1 + $array2 ;/*结果为$array1的值*/ print_r($result); $result3 = array_merge($array2,$array1);/*结果为$array2和$array1的值,键名被重新分配*/ print_r($result3); $result4 = array_merge($array1,$array2);/*结果为$array1和$array2的值,键名被重新分配*/ print_r($result4); ?>
Ausgabeergebnis:
Array ( [1] => data ) Array ( [1] => 0 ) Array ( [0] => data [1] => 0 ) Array ( [0] => 0 [1] => data )
Code:
<?php $array1 = array('asd'=>'0'); $array2 = array('asd' => "data"); $result1 = $array2 + $array1;/*结果为$array2的值*/ print_r($result); $result = $array1 + $array2 ;/*结果为$array1的值*/ print_r($result); $result3 = array_merge($array2,$array1);/*结果为$array1*/ print_r($result3); $result4 = array_merge($array1,$array2);/*结果为$array2*/ print_r($result4); ?>
Ausgabeergebnis:
Array ( [asd] => data ) Array ( [asd] => 0 ) Array ( [asd] => 0 ) Array ( [asd] => data )
1. Die Addition beweist, dass der natürliche Index im Array nicht zurückgesetzt wird.
2 nicht zurückgesetzt. Wird überschrieben
3. Der natürliche Index in der Merge-Funktion wird zurückgesetzt
4. Die Merge-Funktion spielt keine Rolle, die Beziehung zwischen Merge und Merge ist derselbe wie der der früheren Array-Parameter
Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für den Unterschied zwischen der PHP-Zusammenführung von Arrays mithilfe des +-Operators und der Array-Funktion array_merge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!