Heim >Backend-Entwicklung >PHP-Problem >So lassen Sie die Schlüssel beim Zusammenführen von PHP-Arrays unverändert
Array ist in PHP eine sehr verbreitete Datenstruktur, die häufig manipuliert und verarbeitet werden muss. Das Zusammenführen von Arrays ist eine der häufigsten Operationen, bei der zwei oder mehr Arrays zu einem größeren Array kombiniert werden. Normalerweise werden beim Zusammenführen von Arrays die Schlüsselnamen geändert und die ursprünglichen Schlüsselnamen durch neue Schlüsselnamen ersetzt. Manchmal ist es jedoch erforderlich, Arrays zusammenzuführen, ohne die Schlüsselnamen zu ändern. Wie kann man also Arrays in PHP zusammenführen und dabei die Schlüsselnamen unverändert lassen? Als nächstes stellen wir in diesem Artikel die Methoden und Techniken vor, um dies zu erreichen.
1. Grundlagen der PHP-Array-Zusammenführung
In PHP können Sie die Funktion array_merge() und den Operator + verwenden, um Arrays zusammenzuführen. Die Implementierungsmethoden und Auswirkungen dieser beiden Methoden sind grundsätzlich gleich, es gibt jedoch dennoch einige subtile Unterschiede:
array_merge()-Funktion führt ein oder mehrere Arrays zu einem Array zusammen. Diese Funktion gibt ein neues Array zurück, das alle Elemente im Parameterarray enthält. Beim Zusammenführen werden die Schlüsselnamen entsprechend der Zusammenführungsreihenfolge neu angeordnet. Das heißt, das folgende Array ersetzt denselben Schlüsselnamen im vorherigen. Die spezifische Syntax lautet wie folgt:
array array_merge ( array $array1 [, array $array2 [, array $... ]] )
Der Beispielcode lautet wie folgt:
$array1 = array("name"=>"张三", "age"=>20); $array2 = array("age"=>25, "email"=>"zhangsan@gmail.com"); $array3 = array_merge($array1, $array2); print_r($array3);
Betriebsergebnisse:
Array ( [name] => 张三 [age] => 25 [email] => zhangsan@gmail.com )
+Operator kann zum Zusammenführen von Arrays verwendet werden und kann die ursprünglichen Schlüsselnamen beibehalten. Wenn doppelte Schlüsselnamen vorhanden sind, überschreibt das nachfolgende Array das vorherige Array. Die spezifische Verwendung ist wie folgt:
$newsArray = array("title"=>"新闻标题", "content"=>"新闻内容"); $imageArray = array("title"=>"图片标题", "url"=>"http://www.example.com/image.jpg"); $finalArray = $newsArray + $imageArray; print_r($finalArray);
Ausführungsergebnisse:
Array ( [title] => 新闻标题 [content] => 新闻内容 [url] => http://www.example.com/image.jpg )
2. PHP-Array-Zusammenführungsschlüssel bleiben unverändert
Standardmäßig ändern sich beim Zusammenführen von Arrays in den beiden oben genannten Methoden die Schlüsselnamen. Aber manchmal müssen wir Zusammenführungsvorgänge basierend auf den ursprünglichen Schlüsselnamen durchführen. Zu diesem Zeitpunkt können Sie die Funktion array_replace() verwenden, die den Wert mit demselben Schlüsselnamen im vorherigen Array durch den Wert des späteren Arrays ersetzen und dabei den ursprünglichen Schlüsselnamen beibehalten kann. Wenn Sie mehrere Arrays zusammenführen müssen, können Sie diese nacheinander aufrufen.
array_replace()-Funktion ersetzt den Wert mit demselben Schlüsselnamen im vorherigen Array durch den Wert im späteren Array, während der ursprüngliche Schlüsselname beibehalten wird. Die spezifische Verwendung ist wie folgt:
$array1 = array("name"=>"张三", "age"=>20); $array2 = array("age"=>25, "email"=>"zhangsan@gmail.com"); $array3 = array_replace($array1, $array2); print_r($array3);
Laufergebnisse:
Array ( [name] => 张三 [age] => 25 [email] => zhangsan@gmail.com )
Zu diesem Zeitpunkt bleiben die ursprünglichen Schlüsselnamen und die Reihenfolge des Arrays $array1 unverändert und der Inhalt von $array2 wird in $array1 überschrieben.
Wenn Sie mehrere Arrays zusammenführen müssen, können Sie die Funktion array_replace() nacheinander aufrufen, zum Beispiel:
$array1 = array("name"=>"张三", "age"=>20); $array2 = array("age"=>25, "email"=>"zhangsan@gmail.com"); $array3 = array("city"=>"北京", "gender"=>"男"); $finalArray = array_replace($array1, $array2, $array3); print_r($finalArray);
Laufergebnis:
Array ( [name] => 张三 [age] => 25 [email] => zhangsan@gmail.com [city] => 北京 [gender] => 男 )
Zu diesem Zeitpunkt ist das Array $finalArray Der Schlüssel Namen und Reihenfolge in $array1 sind die gleichen wie in $array1, während die Schlüsselnamen und -werte in den Arrays $array2 und $array3 in $finalArray überschrieben werden.
3. Zusammenfassung
Im Allgemeinen gibt es viele Möglichkeiten, die Array-Zusammenführung in PHP zu implementieren, und Sie können je nach Bedarf verschiedene Methoden auswählen. Wenn es notwendig ist, einen Zusammenführungsvorgang durchzuführen, ohne den Schlüsselnamen zu ändern, ist die Funktion array_replace() eine sehr praktische Möglichkeit, dies zu implementieren. Mit dieser Funktion können Sie den Inhalt eines oder mehrerer Arrays im ersten Array zusammenführen und dabei die Reihenfolge der ursprünglichen Schlüsselnamen beibehalten. Gleichzeitig müssen Sie bei der Verwendung dieser Funktion beachten: Es gibt keine Begrenzung für die Anzahl der zusammenzuführenden Arrays. Wenn jedoch die Schlüsselnamen in den Arrays gleich sind, werden die Werte in den nachfolgenden Arrays überschrieben die entsprechenden Schlüsselwerte in den vorherigen Arrays.
Das obige ist der detaillierte Inhalt vonSo lassen Sie die Schlüssel beim Zusammenführen von PHP-Arrays unverändert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!