Heim > Artikel > Backend-Entwicklung > PHP-Array-Lernen: Wie man zwei Arrays vergleicht und den Schnittpunkt findet
Im vorherigen Artikel „PHP-String-Lernen: Vergleich zweier Strings“ haben wir die Methode zum Vergleichen zweier Strings vorgestellt. Strings und Arrays sind beides wichtige Datentypen in PHP. Wir müssen nicht nur verstehen, wie man Strings vergleicht, sondern auch, wie man Arrays vergleicht. Lassen Sie mich Ihnen die Methode zum Vergleichen von Arrays und zum Zurückgeben derselben Elemente (Schnittpunkt) vorstellen.
Zunächst müssen wir wissen, dass PHP mehrere Funktionen zum Vergleichen zweier Arrays und zum Finden der Schnittmenge bereitstellt. In diesem Artikel werden hauptsächlich drei häufig verwendete Funktionen vorgestellt: array_intersect(), array_intersect_assoc() und array_intersect_key().
Okay, kommen wir zum Thema! Wir haben die folgenden zwei Arrays:
$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"pink","r"=>"yellow");
Lassen Sie uns anhand von Codebeispielen sehen, wie array_intersect(), array_intersect_assoc() und array_intersect_key() Arrays vergleichen, um Schnittpunkte zu finden.
1. Funktion array_intersect() – vergleicht die Schlüsselwerte des Arrays
array_intersect($arr1,$arr2...)
Die Funktion vergleicht nur die Schlüsselwerte des Arrays und gibt dann einen Schnittpunkt zurück. Ein Array, das alle Werte im verglichenen Array $arr1
und in allen anderen Parameterarrays $arr2...
enthält. (Die Elemente im Schnittpunkt-Array sind alle Elemente im verglichenen Array $arr1) array_intersect($arr1,$arr2...)
函数只比较数组的键值,然后返回一个交集数组,该数组中包含了所有在被比较的数组$arr1
中,同时也在任何其他参数数组$arr2...
中的值。(交集数组中的元素都是选用被比较的数组$arr1中的元素)
$arr1数组和$arr2数组中都存在的键值有2个:“green
”和“yellow
”,然后从被比较的数组$arr1中选取交集元素,因此输出的结果为:
2、array_intersect_key()函数--比较数组的键名
array_intersect_key($arr1,$arr2...)
只比较数组的键名,然后返回一个交集数组,交集元素会根据键名从被比较的数组$arr1
中选取的。
我们来看看上面的示例,$arr1
数组和$arr2
数组中都存在的键名有2个:“a
”和“b
”,然后根据键名从被比较的数组$arr1
中选取元素,因此输出的结果为:
3、array_intersect_assoc()函数--比较数组的键名和键值
array_intersect_assoc($arr1,$arr2...)会比较数组的键名和键值,然后返回一个交集数组。
在上面的示例中,$arr1数组和$arr2数组中键名和键值都相同的元素只有一个:“"b"=>"green"
green
“ und „ gelb
“ und wählen Sie dann das Schnittelement aus dem verglichenen Array $arr1 aus, sodass das Ausgabeergebnis lautet: 2. Funktion array_intersect_key() – Vergleichen Sie die Schlüsselnamen von Arrays
rrreee array_intersect_key($arr1,$arr2...)
Vergleicht nur die Schlüsselnamen der Arrays und gibt dann ein Schnittmengenarray zurück. Die Schnittmengenelemente werden entsprechend aus dem verglichenen Array extrahiert die Schlüsselnamen $arr1
ausgewählt. Schauen wir uns das obige Beispiel an. Es gibt zwei Schlüsselnamen, die sowohl im Array $arr1
als auch im Array $arr2
vorhanden sind: „a“ und „<code>b
“ und wählen Sie dann Elemente aus dem verglichenen Array $arr1
entsprechend dem Schlüsselnamen aus, sodass das Ausgabeergebnis lautet:
“b“=>“green“
“, also Das Ausgabeergebnis lautet For: 🎜🎜🎜🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜🎜Abschließend empfehle ich ein kostenloses Video-Tutorial zu PHP-Arrays: 🎜PHP-Funktions-Array-Array-Funktions-Video-Erklärung🎜, kommen Sie und lernen Sie! 🎜Das obige ist der detaillierte Inhalt vonPHP-Array-Lernen: Wie man zwei Arrays vergleicht und den Schnittpunkt findet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!