三种PHP合并数组的方法异同_PHP教程
1、“+”运算符
规则:当两个数组的键名是数字键名或者字符串键名可以直接 +,$c = $a + $b,在$a后追加($b在$a中不存在的键名)键名和值。
注意:
- 不覆盖,只是追加不存在的键名和对应的值。
- 键名不重新索引。
- 无论是全部数字键名还是混合,都只是追加键名和值,如果键名相同则不进行追加,即把最先出现的值作为最终结果返回。
<?php $fruit_1 = array( 'apple', 'banana' ); $fruit_2 = array( 'orange', 'lemon' ); $fruit = $fruit_1 + $fruit_2; var_dump($fruit); // output: // array(2) { [0]=> string(5) "apple" [1]=> string(6) "banana" } ?>
数字键名:
<?php $a = array( 66=>'a' ); $b = array( 60=>'u', 66=>'c' ); $c = $a + $b; var_dump($c); // output: // array(2) { [66]=> string(1) "a" [60]=> string(1) "u" } ?>
字符键名:
<?php $a = array( 1=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' ); $b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' ); $c = $a + $b; var_dump($c); // output: // array(7) { [1]=> string(1) "a" [2]=> string(1) "b" ["c"]=> string(1) "c" ["d"]=> string(1) "d" [3]=> string(1) "v" ["y"]=> string(1) "y" [60]=> string(1) "z" } ?>
2、array array_merge ( array array1 [, array array2 [, array ...]] )
规则:array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
注意:
- 数字索引,不会覆盖,值合并后,键名会连续方式重新索引
- 字符串键名,则该键名后面的值将覆盖前一个值
<?php $a = array( 'a' ); $b = array( 'u' ); $c = array_merge($a, $b); var_dump($c); // output: // array(2) { [0]=> string(1) "a" [1]=> string(1) "u" } ?>
数字键名:
<?php $a = array( 66=>'a' ); $b = array( 60=>'u', 66=>'c' ); $c = array_merge($a, $b); var_dump($c); // output: // array(3) { [0]=> string(1) "a" [1]=> string(1) "u" [2]=> string(1) "c" } ?>
字符键名:
<?php $a = array( 1=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' ); $b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' ); $c = array_merge($a, $b); var_dump($c); // output: // array(8) { [0]=> string(1) "a" [1]=> string(1) "b" ["c"]=> string(1) "w" ["d"]=> string(1) "x" [2]=> string(1) "u" [3]=> string(1) "v" ["y"]=> string(1) "y" [4]=> string(1) "z" } ?>
3、array array_merge_recursive ( array array1 [, array ...] )
array_merge_recursive() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。
然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。
注意:规则跟array_merge基本相同,只是在处理相同字符键名的时候,采用递归追加。
<?php $a = array( 'a' ); $b = array( 'u' ); $c = array_merge_recursive($a, $b); var_dump($c); // output: // array(2) { [0]=> string(1) "a" [1]=> string(1) "u" } ?>
数字键名:
<?php $a = array( 66=>'a' ); $b = array( 60=>'u', 66=>'c' ); $c = array_merge_recursive($a, $b); var_dump($c); // output: // array(3) { [0]=> string(1) "a" [1]=> string(1) "u" [2]=> string(1) "c" } ?>
字符键名:
<?php $a = array( 1=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' ); $b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' ); $c = array_merge_recursive($a, $b); var_dump($c); // output: // array(8) { [0]=> string(1) "a" [1]=> string(1) "b" ["c"]=> array(2) { [0]=> string(1) "c" [1]=> string(1) "w" } ["d"]=> array(2) { [0]=> string(1) "d" [1]=> string(1) "x" } [2]=> string(1) "u" [3]=> string(1) "v" ["y"]=> string(1) "y" [4]=> string(1) "z" } ?>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wenn Sie array_merge() in PHP zum Zusammenführen von Arrays verwenden, führt dies zu verwirrenden Ergebnissen, wenn es leere Zeichenfolgen oder leere Arrays enthält. Lösung: 1. Verwenden Sie array_filter(), um Nullwerte zu filtern. 2. Verwenden Sie für Fälle, die leere Arrays enthalten, die rekursive Zusammenführungsfunktion array_merge_recursive_distinct(), um eine konsistente Array-Struktur aufrechtzuerhalten.

Bei der Array-Zusammenführung in PHP hängt die zeitliche Komplexität vom Algorithmus ab: O(m+n) für array_merge() und +-Operator, wobei m und n die Array-Größen sind. Die Schleifenzusammenführung erfolgt ebenfalls O(m+n). Wählen Sie die geeignete Methode basierend auf Faktoren wie Array-Größe und Verfügbarkeit und berücksichtigen Sie die Leistungsanforderungen zur Optimierung Ihrer Anwendung.

In der PHP8.0-Version wurde der Array-Zusammenführungsvorgang verbessert. Diese Verbesserung zielt hauptsächlich auf den Zusammenführungsvorgang von Array-Datentypen ab. In früheren Versionen wurden die von PHP bereitgestellten Array-Zusammenführungsoperationen mithilfe des „+“-Symbols implementiert. Allerdings gibt es bei diesem Ansatz einige Probleme. Wenn zwei Arrays dieselben Schlüssel enthalten, überschreiben die Schlüsselwerte im zweiten Array die Schlüsselwerte im ersten Array. Wenn Sie die beiden Arrays zusammenführen müssen, müssen Sie die Funktion array_merge() geschickt verwenden. . Jetzt in PHP

Vergleich der Effizienz der Zusammenführung von PHP-Arrays: Die zeitliche Komplexität der drei Methoden Array_merge(), + Operator und Array_replace() beträgt alle O(n), was bedeutet, dass die Zusammenführungszeit proportional zur Anzahl der Array-Elemente ist. Die räumliche Komplexität dieser drei Methoden beträgt ebenfalls O(n), was bedeutet, dass die Speichernutzung proportional zur Anzahl der Array-Elemente ist. Die gemessenen Ergebnisse zeigen, dass Array_merge() und +-Operator beim Zusammenführen großer Arrays schneller sind als Array_replace().

Beim Zusammenführen von Arrays in PHP können Sie die folgende Methode wählen, um mit doppelten Elementen umzugehen: Verwenden Sie array_merge() in Kombination mit array_unique(), um doppelte Elemente zu entfernen. Verwenden Sie array_replace(), um doppelte Elemente zu überschreiben, ohne das ursprüngliche Array zu ändern. Verwenden Sie array_diff(), um Elemente aus einem Array zu entfernen, die sich nicht in einem anderen Array befinden.

PHP5.5-Funktionsanalyse: So verwenden Sie die Funktion array_reduce, um Array-Elemente zu einem Wert zu kombinieren. In der PHP-Programmierung müssen wir häufig Arrays verarbeiten und manchmal müssen wir Array-Elemente zu einem Wert kombinieren. Zu diesem Zeitpunkt können wir die in der PHP5.5-Version eingeführte Funktion array_reduce verwenden, um diese Funktion zu implementieren. In diesem Artikel wird die Verwendung der Funktion array_reduce ausführlich vorgestellt und entsprechende Codebeispiele bereitgestellt. Die Funktion array_reduce ist eine

Lösung für PHPWarning:array_merge():Argument Bei der PHP-Entwicklung stoßen wir häufig auf die Fehlermeldung PHPWarning:array_merge():Argument. Was bedeutet das? PHPWarning:array_merge():Argument-Fehler wird verursacht, weil einer oder mehrere Parameter nicht vom Array-Typ sind. Funktionskombination array_merge()

PHP-Array ist eine sehr häufig verwendete Datenstruktur, und die Zusammenführungs- und Aufteilungsoperationen von Arrays sind häufig in der Entwicklung enthalten. In diesem Artikel wird erläutert, wie Sie diese beiden Vorgänge mithilfe der PHP-Sprache implementieren und entsprechende Codebeispiele beifügen. 1. Arrays zusammenführen Der Vorgang des Zusammenführens von Arrays kann mit der Funktion array_merge() implementiert werden. Diese Funktion akzeptiert mehrere Arrays als Argumente und führt sie zu einem neuen Array zusammen. Codebeispiel: $array1=["apple","ba
