Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie, ob in PHP dieselben Elemente in zwei Arrays vorhanden sind

So ermitteln Sie, ob in PHP dieselben Elemente in zwei Arrays vorhanden sind

PHPz
PHPzOriginal
2023-04-25 18:28:20507Durchsuche

In der PHP-Entwicklung ist es häufig notwendig, Arrays zu bedienen und zu verarbeiten. Eine der häufigsten Fragen ist, wie man feststellen kann, ob in zwei Arrays die gleichen Elemente vorhanden sind oder ob ein Element in einem Array vorhanden ist. In diesem Artikel wird das Problem der Nichtexistenz zweier Array-Sätze vorgestellt, einschließlich Definitionen, Lösungen und Implementierungsschritten.

1. Problemdefinition

Angenommen, es gibt zwei Sätze von Arrays, $arr1 und $arr2, die beide aus mehreren Elementen bestehen. Jetzt müssen wir feststellen, ob es in $arr1 Elemente gibt, die in $arr2 nicht existieren, also Elemente, die in $arr1, aber nicht in $arr2 existieren, und diese Elemente ausgeben.

2. Problemlösungsmethode

Um dieses Problem zu lösen, können zwei Methoden verwendet werden, nämlich Schleifendurchquerung und array_diff-Funktion.

  1. Schleifendurchlaufmethode

Dies ist eine relativ einfache und traditionelle Methode, das heißt, zum Durchlaufen wird eine Schleife wie for oder foreach verwendet $arr1-Array: Hinzufügen von Elementen, die in $arr2 nicht vorhanden sind, zu einem neuen Array. Nr Mit der Differenzfunktion kann verglichen werden, welche Elemente in zwei Arrays in einem Array vorhanden sind, im anderen jedoch nicht.

Beispielcode:

$diff_arr = array(); // 用于保存不同的元素
foreach ($arr1 as $val) {
    if (!in_array($val, $arr2)) { // 判断元素是否存在于 $arr2 中
        $diff_arr[] = $val; // 添加到 $diff_arr 数组中
    }
}
print_r($diff_arr); // 打印输出不同的元素
    3. Implementierungsschritte
  1. Verwenden Sie die beiden oben genannten Methoden, um dieses Problem zu lösen. Die spezifischen Schritte sind wie folgt: # 🎜🎜## 🎜🎜#
Erstellen Sie zwei Arrays $arr1 und $arr2.

Verwenden Sie die For- oder Foreach-Schleifendurchlaufmethode, um das Array $arr1 zu durchlaufen. Wenn das aktuelle Element nicht in $arr2 vorhanden ist, fügen Sie es dem Array $diff_arr hinzu.

$diff_arr = array_diff($arr1, $arr2); // 用 array_diff 函数比较差异
print_r($diff_arr); // 打印输出不同的元素

Verwenden Sie die Funktionsmethode array_diff, um die Differenz zwischen $arr1 und $arr2 direkt zu vergleichen und das Ergebnis als $diff_arr-Array zu speichern.

$diff_arr = array();
foreach ($arr1 as $val) {
    if (!in_array($val, $arr2)) { // 判断元素是否存在于 $arr2 中
        $diff_arr[] = $val; // 添加到 $diff_arr 数组中
    }
}
  1. Die Elemente im $diff_arr-Array ausgeben.
  2. $diff_arr = array_diff($arr1, $arr2); // 用 array_diff 函数比较差异
  3. 4. Zusammenfassung
    Dieser Artikel stellt das Problem vor, dass es in PHP keine zwei Sätze von Arrays gibt, und bietet zwei Lösungen. Unabhängig davon, welche Methode gewählt wird, muss auf die Konsistenz der Datentypen im Array geachtet werden, um Programmausnahmen zu vermeiden. Beide Methoden haben ihre eigenen Vor- und Nachteile und die Auswahl muss auf dem tatsächlichen Szenario basieren. Dadurch können Entwickler Array-Vergleiche schnell durchführen und die Ergebnisse ausgeben.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob in PHP dieselben Elemente in zwei Arrays vorhanden sind. 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