Heim >Backend-Entwicklung >PHP-Problem >PHP-Array-Ersetzungsfunktion
In der Programmiersprache PHP ist Array ein sehr häufiger und praktischer Datentyp. In Arrays können wir basierend auf Indizes schnell auf Array-Elemente zugreifen und diese ändern. Bei der tatsächlichen Programmierung müssen wir jedoch häufig Elemente in einem Array ersetzen. Zu diesem Zeitpunkt ist die in PHP integrierte Array-Ersetzungsfunktion sehr praktisch und praktisch.
In diesem Artikel werden die Array-Ersetzungsfunktionen in PHP ausführlich vorgestellt, darunter array_replace(), array_replace_recursive(), array_merge(), array_merge_recursive() und array_combine() sowie andere Funktionen.
1. Die Funktion array_replace()
array_replace() wird verwendet, um Elemente in einem Array durch Elemente in einem anderen Array zu ersetzen. Wenn es doppelte Schlüssel gibt, überschreiben die späteren Werte die vorherigen Werte. Die Syntax dieser Funktion lautet wie folgt:
array array_replace ( array $array1 , array $array2 [, array $... ] )
Darunter ist $array1 das ursprüngliche Array, $array2 das zu ersetzende Array und $... bedeutet, dass mehrere Arrays übergeben werden können. Diese Funktion gibt ein ersetztes Array zurück.
Das Folgende ist ein Beispielcode:
<?php $array1 = array("a" => "apple", "b" => "banana", "c" => "cherry"); $array2 = array("b" => "blueberry", "c" => "coconut"); $result = array_replace($array1, $array2); print_r($result); ?>
Die Ausgabe dieses Codes lautet wie folgt:
Array ( [a] => apple [b] => blueberry [c] => coconut )
Wie Sie sehen können, haben die Elemente im Array $array2 die entsprechenden Elemente im Array $array1 ersetzt.
2. array_replace_recursive()
Die Verwendung der Funktion array_replace_recursive() ist im Grunde die gleiche wie array_replace(), ersetzt jedoch rekursiv die Elemente im Array. Die Syntax dieser Funktion lautet wie folgt:
array array_replace_recursive ( array $array1 , array $array2 [, array $... ] )
Im Gegensatz zu array_replace() wird die Ersetzungsoperation dieser Funktion rekursiv ausgeführt. Wenn es beispielsweise zwei Arrays gibt:
$array1 = array("a" => array("b" => "banana", "c" => "cherry")); $array2 = array("a" => array("b" => "blueberry", "d" => "date"));
Wenn wir die Funktion array_replace() verwenden, sieht das Ergebnis wie folgt aus:
$result = array_replace($array1, $array2); print_r($result);
Ausgabeergebnis:
Array ( [a] => Array ( [b] => blueberry [c] => cherry [d] => date ) )
Sie können sehen, dass die Elemente in $array2 die Elemente in erfolgreich ersetzt haben $array1 , aber das Element „c“, das ursprünglich zu $array1 gehörte, wurde gelöscht. Dies liegt daran, dass die Funktion array_replace() einfach die Elemente in $array2 durch die Elemente in $array1 ersetzt und das Unterarray nicht berücksichtigt.
Wenn wir die Funktion array_replace_recursive() verwenden, um diese beiden Arrays zu ersetzen, sieht das Ergebnis wie folgt aus:
$result = array_replace_recursive($array1, $array2); print_r($result);
Ausgabeergebnis:
Array ( [a] => Array ( [b] => blueberry [c] => cherry [d] => date ) )
Wie Sie sehen können, wird das Element „c“ in $array1 erfolgreich beibehalten und das Element „c“ in $array2 wird erfolgreich beibehalten. Das Element „d“ wird ebenfalls erfolgreich zum Ergebnisarray hinzugefügt, was bedeutet, dass die Funktion array_replace_recursive() alle Elemente in beiden Arrays rekursiv behält.
3. Die Funktion array_merge()
array_merge() wird verwendet, um mehrere Arrays zu einem neuen Array zusammenzuführen und doppelte Elemente zu entfernen. Die Syntax dieser Funktion lautet wie folgt:
array array_merge ( array $array1 [, array $... ] )
Dabei ist $array1 das erste Array, und es können mehrere Arrays übergeben werden. Diese Funktion gibt das neue zusammengeführte Array zurück.
Das Folgende ist ein Beispielcode:
<?php $array1 = array("a" => "apple", "b" => "banana"); $array2 = array("b" => "blueberry", "c" => "cherry"); $result = array_merge($array1, $array2); print_r($result); ?>
Die Ausgabe dieses Codes lautet wie folgt:
Array ( [a] => apple [b] => blueberry [c] => cherry )
Wie Sie sehen können, führt diese Funktion die Elemente in den beiden Arrays zu einem neuen Array zusammen und entfernt doppelte Elemente.
4. array_merge_recursive()
Die Verwendung der Funktion array_merge_recursive() ähnelt der Funktion array_merge(), außer dass sie die Elemente im Array rekursiv zusammenführt. Die Syntax dieser Funktion lautet wie folgt:
array array_merge_recursive ( array $array1 [, array $... ] )
Im Gegensatz zu array_merge() wird der Zusammenführungsvorgang dieser Funktion rekursiv ausgeführt. Wenn es beispielsweise zwei Arrays gibt:
$array1 = array("a" => array("b" => "banana")); $array2 = array("a" => array("c" => "cherry"));
Wenn wir die Funktion array_merge() verwenden, um die beiden Arrays zusammenzuführen, sieht das Ergebnis wie folgt aus:
$result = array_merge($array1, $array2); print_r($result);
Ausgabeergebnis:
Array ( [a] => Array ( [c] => cherry ) )
Sie können sehen, dass die Elemente in $array2 wurden erfolgreich in das Ergebnisarray eingefügt, aber das Element „b“, das ursprünglich zu $array1 gehörte, wurde gelöscht. Dies liegt daran, dass die Funktion array_merge() einfach die Elemente in den beiden Arrays zusammenführt, ohne die Unterarrays zu berücksichtigen.
Wenn wir die Funktion array_merge_recursive() verwenden, um diese beiden Arrays zusammenzuführen, sieht das Ergebnis wie folgt aus:
$result = array_merge_recursive($array1, $array2); print_r($result);
Ausgabeergebnis:
Array ( [a] => Array ( [b] => banana [c] => cherry ) )
Sie können sehen, dass die Elemente in $array1 und $array2 erfolgreich in das Ergebnisarray zusammengeführt wurden Dies bedeutet, dass die Funktion array_merge_recursive() alle Elemente in den beiden Arrays rekursiv zusammenführt.
5. Die Funktion array_combine()
array_combine() wird verwendet, um den Schlüsselnamen in einem Array als Wert in einem anderen Array zu verwenden, um ein neues Array zu generieren. Die Syntax dieser Funktion lautet wie folgt:
array array_combine ( array $keys , array $values )
Unter diesen ist $keys ein Array mit Schlüsselnamen und $values ein Array mit Schlüsselwerten. Diese Funktion gibt ein neues Array mit den Schlüsseln aus dem Array $keys und den Schlüsselwerten aus dem Array $values zurück.
Das Folgende ist ein Beispielcode:
<?php $keys = array("a", "b", "c"); $values = array("apple", "banana", "cherry"); $result = array_combine($keys, $values); print_r($result); ?>
Die Ausgabe dieses Codes lautet wie folgt:
Array ( [a] => apple [b] => banana [c] => cherry )
Wie Sie sehen können, paart diese Funktion die Elemente in den Arrays $keys und $values, um ein neues Array zu generieren.
Zusammenfassung
In diesem Artikel werden die Array-Ersetzungsfunktionen in PHP vorgestellt, darunter array_replace(), array_replace_recursive(), array_merge(), array_merge_recursive() und array_combine() sowie andere Funktionen. Diese Funktionen sind in der tatsächlichen Programmierung sehr nützlich und können uns dabei helfen, Arrays schnell zu bedienen und zu verarbeiten sowie die Qualität und Effizienz des Codes zu verbessern.
Das obige ist der detaillierte Inhalt vonPHP-Array-Ersetzungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!