Heim >Backend-Entwicklung >PHP-Problem >So ermitteln Sie, ob sich eine Zeichenfolge in einem Array in PHP befindet

So ermitteln Sie, ob sich eine Zeichenfolge in einem Array in PHP befindet

PHPz
PHPzOriginal
2023-04-23 10:21:27589Durchsuche

In PHP ist es eine sehr häufige Operation, um festzustellen, ob sich eine Zeichenfolge in einem Array befindet. In der tatsächlichen Entwicklung gibt es häufig Situationen, in denen festgestellt werden muss, ob sich eine Zeichenfolge in einem Array befindet.

Wenn das zu beurteilende Array relativ klein ist, können Sie zur Beurteilung die Funktion in_array verwenden. in_array kann feststellen, ob sich ein Wert in einem Array befindet, und true oder false zurückgeben.

Der Beispielcode lautet wie folgt:

<?php
$arr = array('apple','banana','orange');
if(in_array('apple',$arr)){
    echo '存在';
}else{
    echo '不存在';
}

In diesem Beispiel enthält das Array $arr 3 Elemente: Apfel, Banane und Orange. Wenn der zu findende Wert „Apple“ ist, wird „exists“ ausgegeben; wenn der zu findende Wert „Grapefruit“ ist, wird „does not exist“ ausgegeben.

In der tatsächlichen Entwicklung gibt es jedoch häufig Situationen, in denen das zu beurteilende Spektrum relativ groß ist. Wenn Sie zur Beurteilung die Funktion in_array verwenden, ist die Effizienz geringer, da die Funktion in_array das gesamte Array durchlaufen muss, um das Zielelement zu finden.

In diesem Fall können wir eine andere von PHP bereitgestellte Funktion verwenden – array_search, um festzustellen, ob das Array ein Element enthält. array_search gibt den Index des Zielelements im Array zurück. Wenn es nicht gefunden wird, wird false zurückgegeben.

Der Beispielcode lautet wie folgt:

<?php
$arr = array('apple','banana','orange');
$find = 'banana';
if(($key = array_search($find,$arr)) !== false){
    echo $find.'存在,下标为:'.$key;
}else{
    echo $find.'不存在';
}

In diesem Beispiel ist das Array, das wir beurteilen müssen, immer noch $arr, und der Wert, den wir finden müssen, ist Banana. Es ist zu beachten, dass bei Verwendung der Funktion array_search der Rückgabewert beurteilt werden muss. Wenn der Rückgabewert nicht falsch ist, bedeutet dies, dass das Zielelement vorhanden ist. Wenn der Rückgabewert falsch ist, existiert das Zielelement nicht.

Wenn die zu beurteilenden Bedingungen komplexer sind, z. B. das Finden von Elementen, die einen bestimmten Teilstring in einem Array enthalten, können Sie die von PHP bereitgestellte Funktion array_filter verwenden. Die Funktion array_filter kann verwendet werden, um Elemente in einem Array zu filtern, die bestimmte Bedingungen erfüllen, und ein neues Array zurückzugeben.

Der Beispielcode lautet wie folgt:

<?php
$arr = array('apple','banana','orange','grapefruit','pear');
$find = 'ap';
$res = array_filter($arr,function($item) use ($find){
    if(strpos($item,$find) !== false){
        return true;
    }else{
        return false;
    }
});
if(!empty($res)){
    echo '找到了包含'.$find.'的元素:'.implode(',',$res);
}else{
    echo '没有找到包含'.$find.'的元素';
}

In diesem Beispiel definieren wir zuerst ein Array $arr, und dann ist die zu findende Bedingung das Element, das die Zeichenfolge „ap“ enthält. Wir verwenden die Funktion array_filter, um Elemente im Array zu filtern, die die Bedingungen erfüllen. Die Filterbedingung lautet: Verwenden Sie die Funktion strpos, um festzustellen, ob das Element die Zeichenfolge „ap“ enthält. Wenn dies der Fall ist, wird „true“ zurückgegeben, andernfalls wird „false“ zurückgegeben. Wenn das endgültige Filterergebnis nicht leer ist, bedeutet dies, dass das Element gefunden wurde, das „ap“ enthält.

Kurz gesagt, PHP bietet eine Vielzahl von Möglichkeiten, um festzustellen, ob sich eine Zeichenfolge in einem Array befindet, und Entwickler können je nach spezifischen Anforderungen und tatsächlichen Bedingungen eine Auswahl treffen. Auch in der tatsächlichen Anwendung sollte darauf geachtet werden, effizienten und robusten Code zu schreiben.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob sich eine Zeichenfolge in einem Array in PHP befindet. 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