Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man feststellen, ob ein Wert in einem Array in PHP vorhanden ist? Kurze Analyse der Methoden

Wie kann man feststellen, ob ein Wert in einem Array in PHP vorhanden ist? Kurze Analyse der Methoden

PHPz
PHPzOriginal
2023-04-14 17:45:58800Durchsuche

In der PHP-Entwicklung müssen wir häufig feststellen, ob ein bestimmter Wert in einem Array vorhanden ist, um bei Bedarf entsprechende Vorgänge auszuführen. Als Nächstes wird in diesem Artikel anhand praktischer Beispiele die entsprechende Verwendung von PHP vorgestellt, um festzustellen, ob ein bestimmter Wert im Array vorhanden ist.

1. Verwenden Sie die Funktion in_array, um zu ermitteln.

In PHP können Sie die Funktion in_array verwenden, um festzustellen, ob ein Wert in einem Array vorhanden ist. Die spezifische Verwendung ist wie folgt:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Unter diesen ist der Parameter $needle der zu durchsuchende Wert, der Parameter $haystack ist das zu durchsuchende Array und der Parameter $strict gibt an, ob eine Typprüfung durchgeführt werden soll. Wenn der Parameter $strict wahr ist, prüfen Sie, ob der Typ von $needle mit dem Typ des Werts in $haystack übereinstimmt. Wenn sie inkonsistent sind, geben Sie false zurück.

Das Folgende ist ein Beispielcode, der die Funktion in_array verwendet, um eine Beurteilung zu treffen:

$arr = array('apple', 'banana', 'orange', 'pear');
if (in_array('orange', $arr)) {
    echo 'orange is in the array';
} else {
    echo 'orange is not in the array';
}

Das Ausgabeergebnis lautet: Orange befindet sich im Array, was darauf hinweist, dass der Wert Orange im Array $arr vorhanden ist.

Natürlich kann der $needle-Parameter auch ein Array sein, sodass Sie feststellen können, ob mehrere Werte gleichzeitig im $haystack-Array vorhanden sind. Der Beispielcode lautet wie folgt:

$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$res_arr = array_intersect($search_arr, $arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}

Das Ausgabeergebnis lautet: Banana ist im Array, was darauf hinweist, dass der Wert Banana im Array $arr vorhanden ist.

2. Verwenden Sie den Array-Schlüsselwert, um zu bestimmen

Zusätzlich zur Verwendung der in_array-Funktion können Sie auch den Array-Schlüsselwert verwenden, um zu bestimmen, ob ein Wert in einem Array vorhanden ist. Die spezifische Methode besteht darin, zuerst die Funktion array_keys zu verwenden, um alle Schlüssel im Array abzurufen, und dann die Funktion in_array zu verwenden, um zu bestimmen, ob der Wert im Schlüssel vorhanden ist. Der Beispielcode lautet wie folgt:

$arr = array('apple', 'banana', 'orange', 'pear');
if (in_array('orange', array_keys($arr))) {
    echo 'orange is in the array';
} else {
    echo 'orange is not in the array';
}

Ähnlich können Sie auch feststellen, ob mehrere Werte gleichzeitig in einem Array vorhanden sind. Der Beispielcode lautet wie folgt:

$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$keys_arr = array_keys($arr);
$res_arr = array_intersect($search_arr, $keys_arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}

3. Verwenden Sie die Funktion in_array für Fuzzy-Matching.

Wenn Sie Fuzzy-Matching durchführen möchten, können Sie auch die Funktion in_array verwenden. Die spezifische Methode besteht darin, jeden Wert im Array $haystack mit dem Parameter $needle zu vergleichen und true zurückzugeben, wenn es einen Wert mit demselben Präfix wie $needle gibt. Der Beispielcode lautet wie folgt:

$arr = array('apple', 'banana', 'orange', 'pear');
$prefix = 'or';
foreach ($arr as $k => $v) {
    if (strpos($v, $prefix) === 0) {
        echo $v . "\n";
    }
}

Das Ausgabeergebnis ist: orange.

4. Verwenden Sie die Funktion array_intersect zur Beurteilung.

Zusätzlich zur Verwendung der Funktion in_array und der Beurteilung des Array-Schlüsselwerts können Sie zur Beurteilung auch die Funktion array_intersect verwenden. Die spezifische Verwendung besteht darin, den zu findenden Wert in ein Array einzufügen und dann mit der Funktion array_intersect den Schnittpunkt der beiden Arrays zu ermitteln und zu bestimmen, ob das Schnittpunktarray einen Wert hat. Der Beispielcode lautet wie folgt:

$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$res_arr = array_intersect($search_arr, $arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}

Das Ausgabeergebnis lautet: Banane befindet sich im Array.

Zusammenfassung

In diesem Artikel werden verschiedene Methoden vorgestellt, um festzustellen, ob ein Wert in einem Array in PHP vorhanden ist, einschließlich der Verwendung der Funktion in_array, der Verwendung der Array-Schlüsselwertbeurteilung, der Verwendung der Funktion in_array für Fuzzy-Matching und der Verwendung der Funktion array_intersect zum Urteil. Für unterschiedliche Szenarien eignen sich unterschiedliche Methoden, und Entwickler können entsprechend den tatsächlichen Anforderungen auswählen.

Das obige ist der detaillierte Inhalt vonWie kann man feststellen, ob ein Wert in einem Array in PHP vorhanden ist? Kurze Analyse der Methoden. 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