Heim  >  Artikel  >  Backend-Entwicklung  >  PHP fragt Array ab, ob Array vorhanden ist

PHP fragt Array ab, ob Array vorhanden ist

WBOY
WBOYOriginal
2023-05-06 12:42:09574Durchsuche

Bei der PHP-Entwicklung stoßen wir häufig auf Situationen, in denen wir abfragen müssen, ob ein Array ein anderes Array enthält. Diese Situation tritt normalerweise in Szenarien auf, in denen festgestellt werden muss, ob die vom Benutzer übermittelten Daten zulässig sind und ob eine Beziehung zwischen den beiden Tabellen besteht. Als Reaktion auf diese Situation werden in diesem Artikel mehrere Methoden in PHP vorgestellt, mit denen abgefragt werden kann, ob ein Array vorhanden ist.

Methode 1: Verwenden Sie die Funktion array_diff.

Die Funktion array_diff kann verwendet werden, um den Differenzsatz von Arrays zu berechnen. Wenn es keinen Schnittpunkt zwischen den beiden Arrays gibt, wird das ursprüngliche Array berechnet wird zurückgegeben, andernfalls werden die Elemente außerhalb der Schnittmenge zurückgegeben, also die Differenzmenge. Daher können wir die Funktion array_diff verwenden, um festzustellen, ob es einen Schnittpunkt zwischen zwei Arrays gibt. Wenn es einen Schnittpunkt gibt, bedeutet dies, dass die Elemente zwischen den Arrays identisch sind. Andernfalls sind sie nicht vorhanden.

Beispielcode:

if (count(array_diff($arr1, $arr2)) == 0) {
    echo "数组arr1存在于数组arr2中";
} else {
    echo "数组arr1不存在于数组arr2中";
}

Im obigen Code vergleichen wir die Differenz zwischen den Arrays $arr1 und $arr2. Wenn die Differenz leer ist, bedeutet dies das Array $arr1 Existiert vollständig im Array $arr2.

Methode 2: Verwenden Sie die Funktion array_intersect.

Die Funktion array_intersect kann verwendet werden, um die Schnittmenge von Arrays zu berechnen. Wenn es eine Schnittmenge zwischen zwei Arrays gibt, werden die Elemente der Schnittmenge berechnet Wenn kein Schnittpunkt vorhanden ist, wird ein leeres Array zurückgegeben. Daher können wir die Funktion array_intersect verwenden, um festzustellen, ob es einen Schnittpunkt zwischen zwei Arrays gibt. Wenn es einen Schnittpunkt gibt, bedeutet dies, dass zwischen den Arrays dieselben Elemente vorhanden sind.

Beispielcode:

if (count(array_intersect($arr1, $arr2)) > 0) {
    echo "数组arr1存在于数组arr2中";
} else {
    echo "数组arr1不存在于数组arr2中";
}

Im obigen Code vergleichen wir die Schnittmenge zwischen den Arrays $arr1 und $arr2. Wenn die Schnittmenge nicht leer ist, bedeutet dies, dass das Array $arr1 ist mindestens Es gibt ein Element im Array $arr2.

Methode 3: Verwenden Sie die Funktion in_array.

Die Funktion in_array kann verwendet werden, um festzustellen, ob ein Element in einem Array vorhanden ist. Daher können wir mithilfe der Funktion in_array eine Schleife durchführen, um zu bestimmen, ob jedes Element im Array $arr1 im Array $arr2 vorhanden ist. Wenn alle Elemente im Array $arr1 im Array $arr2 vorhanden sind, bedeutet dies, dass das Array $arr1 vollständig im Array $arr2 vorhanden ist . im Array $arr2, sonst existiert es nicht.

Beispielcode:

$flag = true;
foreach ($arr1 as $value) {
    if (!in_array($value, $arr2)) {
        $flag = false;
        break;
    }
}
if ($flag) {
    echo "数组arr1存在于数组arr2中";
} else {
    echo "数组arr1不存在于数组arr2中";
}

Im obigen Code ermitteln wir in einer Schleife, ob jedes Element im Array $arr1 im Array $arr2 vorhanden ist Wenn alle Elemente im Array $arr2 vorhanden sind, definieren Sie eine $flag-Variable und weisen Sie ihr den Wert true zu. Ändern Sie andernfalls den Wert von $flag in false. Bestimmen Sie abschließend anhand des Werts von $flag, ob das Array $arr1 im Array $arr2 vorhanden ist.

Die oben genannten Möglichkeiten sind mehrere Möglichkeiten, um abzufragen, ob ein Array in PHP vorhanden ist. Entwickler können je nach tatsächlichem Geschäftsszenario unterschiedliche Methoden auswählen.

Das obige ist der detaillierte Inhalt vonPHP fragt Array ab, ob Array vorhanden ist. 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