Heim  >  Artikel  >  Backend-Entwicklung  >  So finden Sie die Vereinigung von Arrays in PHP

So finden Sie die Vereinigung von Arrays in PHP

PHPz
PHPzOriginal
2023-04-18 10:20:13743Durchsuche

Array ist eine sehr nützliche Datenstruktur in PHP. Sie kann über den Index oder den Schlüssel im Array auf die Elemente im Array zugreifen. Im eigentlichen Entwicklungsprozess müssen wir häufig Array-Zusammenführungsvorgänge durchführen, um Elemente in mehreren Arrays zu einem neuen Array zusammenzuführen. In diesem Artikel erfahren Sie, wie Sie die Array-Funktionen in PHP verwenden, um Array-Zusammenführungsvorgänge durchzuführen und die Sammlung mehrerer Arrays zu erhalten.

1. Arrays in PHP

In PHP sind Arrays eine sehr häufig verwendete Datenstruktur. Sie können zum Speichern einer Reihe von Daten desselben Typs verwendet werden. Über diese Werte können wir auf die Elemente im Array zugreifen.

Es gibt zwei Möglichkeiten, Arrays in PHP zu definieren:

1. Verwenden Sie die Funktion array(), um ein Array zu erstellen

$arr = array('a', 'b', 'c');

2 . Verwenden Sie das Symbol [], um ein Array zu erstellen

$arr = ['a', 'b', 'c'];

In PHP können Arrays jede Art von Daten speichern, z , Boolesche Werte , Objekte usw. Darüber hinaus bietet PHP auch viele nützliche Funktionen zum Betreiben von Arrays, wie unten gezeigt.

2. Funktionen zum Zusammenführen von Arrays in PHP

PHP bietet einige sehr nützliche Funktionen zum Verarbeiten von Arrays. Das Zusammenführen von Elementen in mehreren Arrays ist ein sehr häufiger Vorgang. Im Folgenden finden Sie eine Einführung in die Funktionen, die für Array-Zusammenführungsvorgänge in PHP verwendet werden:

1.array_merge()-Funktion

array_merge()-Funktion ist die häufigste Funktion in PHP, die Arrays zusammenführt. Sie führt zwei oder mehr Arrays zu einem Array zusammen . Das Folgende ist die Verwendung der Funktion array_merge():

$arr1 = array('a', 'b', 'c');
$arr2 = array('d', 'e', ​​​​'f' );
$ result = array_merge($arr1, $arr2);

Der obige Code führt die beiden Arrays $arr1 und $arr2 zusammen und speichert das Ergebnis im $result-Array.

Es ist zu beachten, dass die Funktion array_merge() nur Index-Arrays verarbeiten kann, keine assoziativen Arrays. Wenn Sie assoziative Arrays verarbeiten müssen, müssen Sie die Funktion array_merge_recursive() verwenden.

2. Funktion array_merge_recursive()

Die Funktion array_merge_recursive() ähnelt der Funktion array_merge() und kann auch zum Zusammenführen von zwei oder mehr Arrays verwendet werden. Der Unterschied besteht darin, dass assoziative Arrays zusammengeführt werden können.

$arr1 = array('a' => 'apple', 'b' => 'ball');
$arr2 = array('c' => 'cat', 'd' => 'dog');
$result = array_merge_recursive($arr1, $arr2);

Der obige Code führt die beiden assoziativen Arrays $arr1 und $arr2 zusammen und speichert das Ergebnis im $result-Array.

Es ist zu beachten, dass die Funktion array_merge_recursive() Arrays rekursiv zusammenführt und der Zusammenführungsvorgang auch dann korrekt ausgeführt werden kann, wenn andere Arrays im Array verschachtelt sind.

3.array_combine()-Funktion

array_combine()-Funktion kann zwei Arrays zu einem assoziativen Array kombinieren, wobei der Wert im ersten Array als Schlüsselwert des assoziativen Arrays und der Wert im zweiten Array verwendet wird als assoziativer Array-Elementwert. Das Folgende ist die Verwendung der Funktion array_combine():

$keyArr = array('a', 'b', 'c');
$valArr = array('apple', 'ball', 'cat');
$ result = array_combine($keyArr, $valArr);

Der obige Code generiert ein assoziatives Array, in dem die Schlüsselnamen $a, $b und $c sind und die entsprechenden Werte $apple, $ sind Ball und $cat.

4.array_replace()-Funktion

array_replace()-Funktion kann verwendet werden, um Array-Zusammenführungsvorgänge basierend auf Schlüsselnamen durchzuführen. Es fasst die Elemente von zwei oder mehr Arrays zu einem Array zusammen und ersetzt die Werte der Schlüssel mit demselben Namen. Wenn ein Schlüssel nur in einem der Arrays vorkommt, wird der Wert des Schlüssels nicht ersetzt. Das Folgende ist die Verwendung der Funktion array_replace():

$arr1 = array('a' => 'apple', 'b' => 'ball');
$arr2 = array('b' => ; ' bat', 'c' => 'cat');
$result = array_replace($arr1, $arr2);

Der obige Code führt die beiden assoziativen Arrays $arr1 und $arr2 zusammen und ersetzt die Schlüssel For Elemente mit dem Wert $b, ersetzen Sie ihn durch $bat.

5. Die Funktion array_intersect()

Die Funktion array_intersect() kann verwendet werden, um die Schnittmenge mehrerer Arrays zu ermitteln, d. h. nur Elemente beizubehalten, die gleichzeitig in mehreren Arrays erscheinen. Das Folgende ist die Verwendung der Funktion array_intersect():

$arr1 = array('a', 'b', 'c');
$arr2 = array('b', 'c', 'd');
$ arr3 = array('c', 'd', 'e');
$result = array_intersect($arr1, $arr2, $arr3);

Der obige Code ermittelt den Schnittpunkt der drei Arrays ist, $ c-Element.

6. array_diff()-Funktion

array_diff()-Funktion wird verwendet, um den Differenzsatz mehrerer Arrays zu erhalten, d. h. nur die Elemente, die im ersten Array erscheinen und nicht in anderen Arrays erscheinen, werden beibehalten. Das Folgende ist die Verwendung der Funktion array_diff():

$arr1 = array('a', 'b', 'c');
$arr2 = array('b', 'c', 'd');
$ arr3 = array('c', 'd', 'e');
$result = array_diff($arr1, $arr2, $arr3);

Der obige Code ruft die Elemente ab, die nur in $arr1 vorkommen, also das $a-Element.

3. Beispiel für eine PHP-Array-Sammlung

Mit dem oben genannten Wissen können wir einen PHP-Code implementieren, der mehrere Arrays kombinieren soll. Das Folgende ist die Code-Implementierung:

function array_union(...$arrays) {

$res = array();
foreach($arrays as $arr) {
    $res = array_merge_recursive($res, $arr);
}
return $res;

}

Der obige Code verwendet variable Parameter (...), um mehrere Arrays darzustellen. In der Funktion verwenden wir eine foreach-Schleife, um alle eingehenden Parameter-Arrays zu durchlaufen, sie mit der Funktion array_merge_recursive() zusammenzuführen und schließlich das zusammengeführte Ergebnis-Array zurückzugeben.

Mit dieser Funktion können wir sie aufrufen, um die Menge mehrerer Arrays wie folgt zu lösen:

$arr1 = array('a' => 'apple', 'b' => 'ball' );
$arr2 = array('b' => 'bat', 'c' => 'cat', 'd' => 'dog');
$arr3 = array('c' => ; 'cat ', 'd' => 'deer', 'e' => 'elephant');
$result = array_union($arr1, $arr2, $arr3);

Der obige Code wird drei assoziative Arrays zusammenführen und es wird ein einzelnes assoziatives Array zurückgegeben, das alle Elemente enthält.

Zusammenfassung

Arrays sind eine sehr wichtige Datenstruktur in PHP. Wir müssen oft mehrere Arrays zusammenführen, um eine Sammlung zu erhalten. In diesem Artikel werden einige nützliche Array-Funktionen in PHP vorgestellt, darunter array_merge(), array_merge_recursive(), array_combine(), array_replace(), array_intersect() und array_diff(). Wir haben auch eine Funktion implementiert, um die Vereinigung mehrerer Arrays zu finden. Der Leser kann die für ihn geeignete Funktion entsprechend seinen eigenen Anforderungen zum Ausführen von Array-Operationen auswählen.

Das obige ist der detaillierte Inhalt vonSo finden Sie die Vereinigung von Arrays in PHP. 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