Heim >Backend-Entwicklung >PHP-Problem >So lassen Sie die Schlüssel beim Zusammenführen von PHP-Arrays unverändert

So lassen Sie die Schlüssel beim Zusammenführen von PHP-Arrays unverändert

PHPz
PHPzOriginal
2023-04-18 14:11:231043Durchsuche

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:

  1. array_merge()-Funktion

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
)
  1. +Operator

+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.

  1. array_replace()-Funktion

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.

  1. Mehrere Arrays zusammenführen

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!

Stellungnahme:
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