Heim  >  Artikel  >  Backend-Entwicklung  >  So finden Sie in PHP dieselben Elemente in zwei Arrays

So finden Sie in PHP dieselben Elemente in zwei Arrays

藏色散人
藏色散人Original
2022-12-23 10:04:365106Durchsuche

So finden Sie die gleichen Elemente in zwei Arrays in PHP: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Definieren Sie zwei Arrays mit den gleichen Elementen. 3. Verwenden Sie „array_intersect($array1,$array2)“ oder „array_intersect_assoc()“. " Methode, um die gleichen Elemente zweier Arrays zu erhalten.

So finden Sie in PHP dieselben Elemente in zwei Arrays

Die Betriebsumgebung dieses Tutorials: Windows 10-System, PHP-Version 8.1, DELL G3-Computer

php Wie finde ich die gleichen Elemente von zwei Arrays?

php erhält die gleichen Elemente (Schnittpunkt) von zwei Arrays und unterschiedliche Elemente (Differenzsatz) in zwei Arrays vergleichen

(1) PHP erhält die gleichen Elemente von zwei Arrays

  array  array_intersect(array  $array1, array $array2, [, array $...])    
  array  array_intersect_assoc(array  $array1, array $array2, [, array $...])

Die Funktionen dieser beiden Methoden sind grundsätzlich gleich, beide geben zwei Arrays zurück (können auch mehrere Arrays sein). ) Der Unterschied besteht darin, dass Ersteres nur den Wert der Elemente im Array als gleich ansieht, während Letzteres erfordert, dass sowohl der Schlüssel als auch der Wert gleich sind. Beispiel:

<?php
 
$array1 = array(&#39;1&#39;, &#39;a&#39; => &#39;aaaaaa&#39;, &#39;b&#39; => &#39;bbbbbb&#39;, &#39;c&#39;);
$array2 = array(&#39;a&#39; => &#39;aaaaaa&#39;, &#39;c&#39; => &#39;bbbbbb&#39;, &#39;c&#39;, &#39;1&#39;);
 
var_dump(array_intersect($array1,$array2));

Wenn Sie den obigen Code ausführen, erhalten Sie Folgendes Ergebnisse:

array(4) {
  [0]=>
  string(1) "1"
  ["a"]=>
  string(6) "aaaaaa"
  ["b"]=>
  string(6) "bbbbbb"
  [1]=>
  string(1) "c"
}

Und wenn Sie die Methode array_intersect_assoc() verwenden, erhalten Sie die folgenden Ergebnisse:

array(1) {
  ["a"]=>
  string(6) "aaaaaa"
}

(2) PHP vergleicht verschiedene Elemente in zwei Arrays

  array   array_diff(array  $array1, array $array2, [, array $...])
  array   array_diff_assoc(array  $array1, array $array2, [, array $...])

Ähnlich sind die Grundfunktionen dieser beiden Methoden gleich, Rückgaben Elemente, die sich im ersten Array, aber nicht in anderen Arrays befinden. Ersteres vergleicht nur Werte, während letzteres sowohl Schlüssel als auch Wert vergleicht.

<?php
 
$array1 = array(&#39;1&#39;, &#39;a&#39; => &#39;aaaaaa&#39;, &#39;b&#39; => &#39;bbbbbb&#39;, &#39;c&#39;);
$array2 = array(&#39;a&#39; => &#39;aaaaaa&#39;, &#39;c&#39; => &#39;bbbbbb&#39;, &#39;c&#39;, &#39;1&#39;);
 
var_dump(array_diff($array1,$array2));

Das laufende Ergebnis des obigen Codes ist:

array(0) {
}

Und wenn Sie die letzte Zeile durch var_dump(array_diff_assoc($array1, $array2)); ersetzen, erhalten Sie das folgende Ergebnis:

array(3) {
  [0]=>
  string(1) "1"
  ["b"]=>
  string(6) "bbbbbb"
  [1]=>
  string(1) "c"
}

Empfohlenes Lernen: „ PHP-Video-Tutorial"

Das obige ist der detaillierte Inhalt vonSo finden Sie in PHP dieselben Elemente in zwei Arrays. 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