Heim  >  Artikel  >  Backend-Entwicklung  >  So überprüfen Sie, ob sich Daten in einem Array in PHP befinden

So überprüfen Sie, ob sich Daten in einem Array in PHP befinden

PHPz
PHPzOriginal
2023-04-24 09:12:421178Durchsuche

In PHP müssen Sie manchmal abfragen, ob sich ein Datenelement in einem Array befindet. Dies ist ein Problem, das in der Entwicklung häufig auftritt. In diesem Artikel wird dieses Problem ausführlich beschrieben, einschließlich verschiedener Abfragemethoden und ihrer Verwendungsszenarien.

Methode 1: Funktion in_array()

Die Funktion in_array() ist eine in PHP integrierte Funktion, mit der überprüft wird, ob sich ein Wert in einem Array befindet. Diese Funktion kann zwei Parameter akzeptieren, der erste Parameter ist der zu findende Wert und der zweite Parameter ist das abzufragende Array. Diese Funktion gibt einen booleschen Wert zurück. Wenn das Abfrageergebnis wahr ist, wird „true“ zurückgegeben. Wenn das Abfrageergebnis falsch ist, wird „false“ zurückgegeben.

Der Beispielcode lautet wie folgt:

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

Im obigen Beispiel definieren wir ein Array und verwenden dann die Funktion in_array(), um abzufragen, ob sich „Apfel“ im Array befindet, und das endgültige Ausgabeergebnis ist „Apfel ist im Array".

Methode 2: Funktion array_search()

Die Funktion array_search() ist ebenfalls eine in PHP integrierte Funktion, mit der die Position eines Werts in einem Array abgefragt wird. Diese Funktion kann zwei Parameter akzeptieren, der erste Parameter ist der zu findende Wert und der zweite Parameter ist das abzufragende Array. Wenn das Abfrageergebnis „true“ ist, wird der Index des Werts im Array zurückgegeben; wenn das Abfrageergebnis „false“ ist, wird „false“ zurückgegeben.

Der Beispielcode lautet wie folgt:

$array = array('apple', 'banana', 'orange');
$key = array_search('apple', $array);
if ($key !== false) {
    echo "apple is in the array at index " . $key;
} else {
    echo "apple is not in the array";
}

Im obigen Beispiel definieren wir auch ein Array und verwenden dann die Funktion array_search(), um den Index von „apple“ im Array abzufragen. Das endgültige Ausgabeergebnis ist „apple“. befindet sich im Array bei Index 0".

Es ist zu beachten, dass das Abfrageergebnis der Funktion array_search() möglicherweise 0 ist. Sie müssen daher den losen Gleichheitsoperator „!== false“ verwenden, um festzustellen, ob das Abfrageergebnis falsch ist.

Methode 3: in_array()-Funktion und strikter Gleichheitsoperator

Wir können die in_array()-Funktion auch mit dem strikten Gleichheitsoperator „===" kombinieren, um die Richtigkeit der Abfrageergebnisse sicherzustellen. Der strikte Gleichheitsoperator unterscheidet zwischen Typen und vermeidet daher Abfragefehler, die durch Typkonflikte verursacht werden.

Der Beispielcode lautet wie folgt:

$array = array('1', 2, '3.14', 'apple');
if (in_array(2, $array, true)) {
    echo "2 is in the array";
} else {
    echo "2 is not in the array";
}

Im obigen Beispiel definieren wir ein Array mit einer Ganzzahl 2 und verwenden die Funktion in_array() und den strikten Gleichheitsoperator, um abzufragen, ob 2 im Array enthalten ist. Die endgültige Ausgabe Ergebnis ist „2 ist im Array“.

Es ist zu beachten, dass der Wert 2 und die Zeichenfolge „2“ als gleich betrachtet werden, wenn der strikte Gleichheitsoperator nicht verwendet wird, sodass möglicherweise falsche Abfrageergebnisse zurückgegeben werden.

Methode 4: Funktion in_array() und Funktion array_map()

Wir können die Funktion in_array() auch in Kombination mit der Funktion array_map() verwenden, um abzufragen, ob sich mehrere Werte im Array befinden. Die Funktion array_map() kann eine benutzerdefinierte Funktion auf jedes Element in einem Array anwenden und ein neues Array zurückgeben, das aus den Verarbeitungsergebnissen besteht.

Der Beispielcode lautet wie folgt:

$array = array('apple', 'banana', 'orange');
$search = array('apple', 'pear', 'grape');
$result = array_map(function ($val) use ($array) {
    return in_array($val, $array);
}, $search);

print_r($result);

Im obigen Beispiel definieren wir ein Array und ein Array von Werten, die abgefragt werden sollen, und verwenden dann die Funktion array_map(), um in_array() auf jedes Element anzuwenden Im Array der abzufragenden Werte gibt die Funktion ein neues Array aus Abfrageergebnissen zurück. Das endgültige Ausgabeergebnis lautet:

Array
(
    [0] => 1
    [1] => 0
    [2] => 0
)

Im Ergebnis gibt 1 an, dass das Abfrageergebnis wahr ist, und 0 gibt an dass das Abfrageergebnis falsch ist.

Es ist zu beachten, dass die Verwendung der Funktion array_map() zur Abfrage, ob ein Array mehrere Werte in einem anderen Array enthält, ein neues Array zurückgibt. Sie müssen daher Funktionen wie print_r() verwenden, um die Abfrageergebnisse auszugeben .

Zusammenfassend lässt sich sagen, dass es in PHP viele Methoden zur Auswahl gibt, um abzufragen, ob sich Daten in einem Array befinden. Die geeignete Methode muss basierend auf spezifischen Nutzungsszenarien und Anforderungen ausgewählt werden.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie, ob sich Daten in einem Array in PHP befinden. 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