Heim > Backend-Entwicklung > PHP-Tutorial > Lernen Sie drei Methoden kennen, um die Differenzmengen mehrerer Arrays zu erhalten (Sammlung)

Lernen Sie drei Methoden kennen, um die Differenzmengen mehrerer Arrays zu erhalten (Sammlung)

WBOY
Freigeben: 2023-04-10 19:30:02
Original
3693 Leute haben es durchsucht

Im vorherigen Artikel „Lernen Sie drei Methoden zum Erhalten der Schnittmenge mehrerer Arrays in fünf Minuten (Sammlung)“ haben wir ausführlich vorgestellt, wie Sie die Schnittmenge mehrerer Arrays in PHP-Array-Operationen erhalten Schauen Sie sich an, wie Sie die Differenzmenge mehrerer Arrays in Array-Operationen erhalten. Hoffe, es hilft allen!

Lernen Sie drei Methoden kennen, um die Differenzmengen mehrerer Arrays zu erhalten (Sammlung)

Im vorherigen Artikel haben wir gelernt, dass wir die Funktion array_intersect, die Funktion array_intersect_key und array_intersect_assoc verwendet verschiedene Methoden, um die Schnittmenge zwischen Arrays zu ermitteln. Da es in PHP eine Methode zum Ermitteln der Schnittmenge zwischen Arrays gibt, gibt es auch eine Methode zum Ermitteln der Differenz zwischen PHP-Arrays. array_intersect函数、array_intersect_key函数和array_intersect_assoc函数分别以不同的方法来获取数组之间的交集。既然在PHP中有能够获取数组间交集的方法那同时也会有获取PHP数组间差集的方法。

获取数组间差集的方法有很多,与获取交集类似,我们也可以通过比较键值、比较键名和比较键值与键名的方法来比较数组,然后获取数组间的差集。下面我们就分别来看一下这三种方法的使用吧。

比较键值-<span style="font-size: 20px;">array_diff</span>函数

在PHP中内置了array_diff函数用来通过比较键值的方式来比较数组,然后返回数组间的差集。array_diff函数的基本语法格式如下:

array_diff(array1,array2,array3...);
Nach dem Login kopieren

其中需要注意的是,参数array123表示的是用来比较的数组,返回的结果差集数组,该数组中的元素包括在了第一个数组元素中。返回数组是第一个数组中其他数组没有的值,在返回的数组中键名保持不变。

下面我们通过示例来看一下array_diff函数的使用,示例如下:

<?php
$fruit1 = array("Apple","Banana","Orange");
$fruit2 = array("Pear","Apple","Grape");
$fruit3 = array("Watermelon","Orange","Apple");
$intersection = array_diff($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>
Nach dem Login kopieren

输出结果:

Lernen Sie drei Methoden kennen, um die Differenzmengen mehrerer Arrays zu erhalten (Sammlung)

通过上述示例我们通过array_diff函数,返回的结果正是数组1与其他数组的差集。也就是返回的结果正是数组1中有但是其他数组中没有的元素。当然了这是比较元素的键值,下面我们来看一下通过比较元素的键名,返回的结果有什么不同。

比较键名-array_diff_key函数

在PHP中可以通过array_intersect_key函数来比较数组间的键名然后返回数组间的交集,与之类似的就是array_diff_key函数能够比较键名然后返回数组间的差集。

array_diff_key函数的基本语法格式如下:

array_diff_key(array1,array2,array3...);
Nach dem Login kopieren

其中需要注意的是:参数array123表示的需要比较的数组,返回的差集数组中的元素都是数组1中的元素,但是并不在其他的数组元素中。

接下来我们通过示例来看一下array_diff_key函数的应用,示例如下:

<?php
$fruit1 = array("a"=>"Apple","b"=>"Banana","c"=>"Orange");
$fruit2 = array("a"=>"Pear","d"=>"Apple","e"=>"Grape");
$fruit3 = array("a"=>"Watermelon","f"=>"Orange","g"=>"Apple");
$intersection = array_diff_key($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>
Nach dem Login kopieren

输出结果:

Lernen Sie drei Methoden kennen, um die Differenzmengen mehrerer Arrays zu erhalten (Sammlung)

通过上述示例我们就是通过array_diff_key函数来进行比较数组间的键名,然后返回差集,返回的结果正是数组1中有的键名但是其他的数组元素中没有的键名。这是通过比较键名,下面我们来看一下同时比较键值和键名应该怎样操作。

比较键值与键名-array_diff_assoc函数

在PHP中可以通过array_intersect_assoc函数比较键值与键名,然后返回的结果是数组元素中的交集,与之类似的就是array_diff_assoc函数它也是比较键值与键名,但是返回的结果是数组元素中的差集。

array_diff_assoc函数的基本语法格式如下:

array_diff_assoc(array1,array2,array3...);
Nach dem Login kopieren

其中需要注意的是:参数array123表示的需要比较的数组,通过比较键值与键名,返回的差集数组中的元素都是数组1中的元素,但是并不在其他的数组元素中。

下面我们通过示例来看一下array_diff_assoc函数的应用,示例如下:

<?php
$fruit1 = array("a"=>"Apple","b"=>"Banana","c"=>"Orange");
$fruit2 = array("a"=>"Pear","d"=>"Apple","e"=>"Grape");
$fruit3 = array("a"=>"Watermelon","f"=>"Orange","g"=>"Apple");
$intersection = array_diff_assoc($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>
Nach dem Login kopieren

输出结果:

Lernen Sie drei Methoden kennen, um die Differenzmengen mehrerer Arrays zu erhalten (Sammlung)

通过上述示例我们通过array_diff_assoc

Es gibt viele Möglichkeiten, die Differenz zwischen Arrays zu ermitteln. Wir können Arrays auch vergleichen, indem wir Schlüsselwerte, Schlüsselnamen und Schlüsselwerte mit Schlüsselnamen vergleichen, und dann die Differenz zwischen Arrays ermitteln . Schauen wir uns die Verwendung dieser drei Methoden separat an.

Schlüsselwerte vergleichen-<span style="font-size: 20px;">array_diff</span>Funktion

Die Funktion array_diff ist in PHP integriert, um Arrays durch den Vergleich von Schlüsselwerten zu vergleichen gibt die Differenz zwischen den Arrays zurück. Das grundlegende Syntaxformat der Funktion array_diff lautet wie folgt: 🎜rrreee🎜Es ist zu beachten, dass der Parameter array123 das für den Vergleich verwendete Array darstellt und das zurückgegebene Ergebnis-Differenz-Array die Elemente in diesem Array sind im ersten Array-Element enthalten. Das zurückgegebene Array ist der Wert im ersten Array, der in anderen Arrays nicht gefunden wird, und die Schlüsselnamen im zurückgegebenen Array bleiben unverändert.
🎜🎜Sehen wir uns die Verwendung der Funktion array_diff anhand eines Beispiels an. Das Beispiel sieht wie folgt aus:
🎜rrreee🎜Ausgabeergebnis:
🎜🎜 Lernen Sie drei Methoden kennen, um die Differenzmengen mehrerer Arrays zu erhalten (Sammlung)🎜🎜Durch das oben Gesagte Wenn wir beispielsweise die Funktion array_diff übergeben, ist das zurückgegebene Ergebnis die Differenz zwischen Array 1 und anderen Arrays. Das heißt, das zurückgegebene Ergebnis sind genau die Elemente, die sich in Array 1, aber nicht in anderen Arrays befinden. Dies ist natürlich ein Vergleich der Schlüsselwerte von Elementen. Schauen wir uns den Unterschied in den Ergebnissen an, die durch den Vergleich der Schlüsselnamen von Elementen zurückgegeben werden. 🎜🎜Compare key name-array_diff_key function🎜🎜In PHP können Sie übergeben array_intersect_key Die Funktion vergleicht die Schlüsselnamen zwischen Arrays und gibt die Schnittmenge zwischen den Arrays zurück. Ebenso vergleicht die Funktion array_diff_key die Schlüsselnamen und gibt die Differenz zwischen den Arrays zurück. Das grundlegende Syntaxformat der Funktion 🎜🎜array_diff_key lautet wie folgt: 🎜rrreee🎜Es ist zu beachten, dass der Parameter array123 das Array darstellt, das verglichen werden muss, und die Elemente im zurückgegebenen Differenzarray sind alle Elemente in Array 1 , jedoch nicht in anderen Array-Elementen.
🎜🎜Als nächstes schauen wir uns die Anwendung der Funktion array_diff_key anhand eines Beispiels an:
🎜rrreee🎜Ausgabeergebnis:
🎜🎜Lernen Sie drei Methoden kennen, um die Differenzmengen mehrerer Arrays zu erhalten (Sammlung)🎜🎜Durch Im obigen Beispiel übergeben wir die Funktion array_diff_key, die die Schlüsselnamen zwischen Arrays vergleicht und dann den Differenzsatz zurückgibt. Das zurückgegebene Ergebnis ist genau der Schlüsselname in Array 1, jedoch nicht in anderen Array-Elementen. Dies geschieht durch den Vergleich von Schlüsselnamen. Schauen wir uns an, wie Schlüsselwerte und Schlüsselnamen gleichzeitig verglichen werden. 🎜🎜Vergleiche Schlüsselwert und Schlüsselname-array_diff_assoc-Funktion🎜🎜 kann in PHP übergeben werden array_intersect_assoc vergleicht den Schlüsselwert und den Schlüsselnamen und gibt dann als Ergebnis die Schnittmenge der Array-Elemente zurück. Ähnlich wie die Funktion array_diff_assoc vergleicht sie auch den Schlüssel Wert und der Schlüsselname, aber das zurückgegebene Ergebnis ist die Differenz zwischen den Array-Elementen. Das grundlegende Syntaxformat der Funktion 🎜🎜array_diff_assoc lautet wie folgt: 🎜rrreee🎜Es ist zu beachten, dass der Parameter array123 das Array darstellt, das durch Vergleich des Schlüsselwerts und des Schlüsselnamens verglichen werden muss , das zurückgegebene Differenz-Array. Die Elemente sind alle Elemente in Array 1, aber nicht in anderen Array-Elementen.
🎜🎜Sehen wir uns die Anwendung der Funktion array_diff_assoc anhand eines Beispiels an. Das Beispiel sieht wie folgt aus: 🎜rrreee🎜Ausgabeergebnis:
🎜🎜Lernen Sie drei Methoden kennen, um die Differenzmengen mehrerer Arrays zu erhalten (Sammlung)🎜🎜Durch das obige Beispiel übergeben wir array_diff_assoc Die Funktion vergleicht die Schlüsselwerte und Schlüsselnamen zwischen Arrays und gibt dann den Differenzsatz zurück. Das zurückgegebene Ergebnis ist genau das Element in Array 1, jedoch nicht in anderen Arrays. 🎜🎜Bei Interesse können Sie auf „🎜PHP-Video-Tutorial🎜“ klicken, um mehr über PHP-Kenntnisse zu erfahren. 🎜

Das obige ist der detaillierte Inhalt vonLernen Sie drei Methoden kennen, um die Differenzmengen mehrerer Arrays zu erhalten (Sammlung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:PHP,数组
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage