PHP verfügt als eine in der Webentwicklung weit verbreitete Skriptsprache über starke Datenverarbeitungsfähigkeiten, wobei Arrays einer der wichtigsten Datentypen in PHP sind. In PHP müssen wir häufig feststellen, ob ein Wert in einem Array vorhanden ist. Daher ist die Bestimmung, ob ein Wert in PHP in einem Array vorhanden ist, ein sehr häufiges Problem. In diesem Artikel wird dieses Problem ausführlich untersucht.
1. Einführung in PHP-Arrays
In PHP sind Arrays ein häufig verwendeter Datentyp mit den folgenden Merkmalen:
Zum Beispiel ist das Folgende ein einfaches PHP-Array:
$cities=array("Beijing","Shanghai","Guangzhou","Shenzhen");
In diesem Array ist $cities
ein Array-Variablenname, array("Beijing","Shanghai"," Guangzhou, „Shenzhen“)
ist ein Array, das aus vier Elementen besteht. Jedes Element entspricht einem Stadtnamen vom Typ „String“, und die Indizes sind 0, 1, 2 bzw. 3. $cities
是一个数组变量名,array("Beijing","Shanghai","Guangzhou","Shenzhen")
是一个由四个元素组成的数组,每个元素都对应一个字符串类型的城市名,下标分别为 0、1、2、3。
二、PHP 中判断值是否在数组中的方法
现在假设我们有一个数组 $arr
和一个值 $value
,我们需要判断此值是否在该数组中。PHP 中有多种方法可以实现此目的,包括使用 in_array()
函数、使用 array_search()
函数、使用 isset()
和 array_key_exists()
函数等等,下面分别进行介绍。
in_array()
函数判断值是否在数组中in_array()
函数用于检查一个值是否存在于一个数组中,并返回一个布尔值。如果 $value
存在于 $arr
中,则返回 True
,否则返回 False
。
in_array($value,$arr);
下面是一个示例:
$fruits=array("apple","banana","orange","kiwi"); if(in_array("banana",$fruits)){ echo "查找到了值!"; }else{ echo "未查找到值."; }
这段代码将输出 查找到了值!
。
array_search()
函数判断值是否在数组中array_search()
函数用于尝试在数组中查找一个元素,并返回它的键(即下标)。如果 $value
存在于 $arr
中,则返回该元素的键,否则返回 False
。
array_search($value,$arr);
下面是一个示例:
$fruits=array("apple","banana","orange","kiwi"); $index=array_search("banana",$fruits); echo $index;
这段代码将输出 1,因为 banana
对应 $fruits
数组中的第二个元素,它的下标是 1。
需要注意的是,如果 $value
对应多个元素,则只返回遇到的第一个元素的下标。
isset()
和 array_key_exists()
函数判断值是否在数组中isset()
函数用于检测变量是否设置,如果变量存在且值不是 NULL
,则返回 True
,否则返回 False
。
isset($arr[$key]);
array_key_exists()
函数用于检查指定的键或索引是否存在于数组中。如果 $key
存在于 $arr
中,则返回 True
,否则返回 False
。
array_key_exists($key,$arr);
下面是一个示例:
$fruits=array("apple"=>1,"banana"=>2,"orange"=>3,"kiwi"=>4); if(isset($fruits["banana"])){ echo "查找到了值!"; }else{ echo "未查找到值."; }
这段代码将输出 查找到了值!
,因为该数组中存在键值为 banana
的元素。
三、PHP中三种方法的比较
使用 in_array()
函数和 array_search()
函数是比较常见的方法,同时它们也是比较高效的方法。
in_array()
函数返回一个布尔值,不需要查询元素在数组中的位置,速度较快。而 array_search()
函数返回元素在数组中的索引,速度会稍慢一些。
使用 isset()
函数和 array_key_exists()
函数对于关联数组(即下标为字符串的数组)较为常用。这两个函数的区别在于,isset()
函数在目标值存在时返回 True
,在目标值不存在时依然返回 False
;而 array_key_exists()
函数在目标值不存在时返回 False
,仅在目标值存在时返回 True
。
四、总结
在 PHP 中判断一个值是否存在于数组中是一个常见的需求,本文介绍了 PHP 中的三种方法:使用 in_array()
函数、使用 array_search()
函数和使用 isset()
和 array_key_exists()
$arr
und einen Wert $value
haben Bestimmen Sie, ob dieser Wert in diesem Array enthalten ist. Es gibt mehrere Möglichkeiten, dies in PHP zu tun, einschließlich der Verwendung der Funktion in_array()
, der Funktion array_search()
und der Verwendung von isset()
und array_key_exists()
-Funktionen usw. werden im Folgenden vorgestellt. 🎜🎜🎜Verwenden Sie die Funktion in_array()
, um festzustellen, ob sich ein Wert in einem Array befindet. 🎜🎜🎜in_array()
Die Funktion wird verwendet, um zu überprüfen, ob ein Wert in einem Array vorhanden ist Array und gibt einen booleschen Wert zurück. Gibt True
zurück, wenn $value
in $arr
vorhanden ist, andernfalls wird False
zurückgegeben. 🎜rrreee🎜Hier ist ein Beispiel: 🎜rrreee🎜Dieser Code gibt Wert gefunden!
aus. 🎜array_search()
, um zu bestimmen, ob sich der Wert im Array befindet. 🎜🎜🎜Die Funktion array_search()
dient dazu Versuchen Sie, einen Wert im Array-Element zu finden und geben Sie seinen Schlüssel (d. h. den Index) zurück. Wenn $value
in $arr
vorhanden ist, wird der Schlüssel des Elements zurückgegeben, andernfalls wird False
zurückgegeben. 🎜rrreee🎜Hier ist ein Beispiel: 🎜rrreee🎜Dieser Code gibt 1 aus, da banana
dem zweiten Element im Array $fruits
entspricht und sein Index 1 ist. 🎜🎜Es ist zu beachten, dass, wenn $value
mehreren Elementen entspricht, nur der Index des ersten gefundenen Elements zurückgegeben wird. 🎜isset()
und array_key_exists()
, um zu bestimmen, ob sich der Wert im Array befindet🎜🎜🎜isset ()
Die Funktion code> wird verwendet, um zu erkennen, ob eine Variable gesetzt ist und der Wert nicht NULL
ist, andernfalls wird True
zurückgegeben gibt False
zurück. Mit der Funktion 🎜rrreee🎜array_key_exists()
wird überprüft, ob der angegebene Schlüssel oder Index im Array vorhanden ist. Gibt True
zurück, wenn $key
in $arr
vorhanden ist, andernfalls wird False
zurückgegeben. 🎜rrreee🎜Hier ist ein Beispiel: 🎜rrreee🎜Dieser Code gibt Wert gefunden!
aus, da sich im Array ein Element mit dem Schlüsselwert Banane
befindet. 🎜🎜3. Vergleich von drei Methoden in PHP🎜🎜Die Verwendung der Funktion in_array()
und der Funktion array_search()
sind gebräuchlichere und auch effizientere Methoden . . 🎜🎜in_array()
Die Funktion gibt einen booleschen Wert zurück. Es ist nicht erforderlich, die Position des Elements im Array abzufragen, und es ist schneller. Die Funktion array_search()
gibt den Index des Elements im Array zurück, was etwas langsamer ist. 🎜🎜Die Verwendung der Funktion isset()
und der Funktion array_key_exists()
wird häufiger für assoziative Arrays verwendet (d. h. Arrays, deren Indizes Zeichenfolgen sind). Der Unterschied zwischen diesen beiden Funktionen besteht darin, dass die Funktion isset()
True
zurückgibt, wenn der Zielwert vorhanden ist, und dennoch False
zurückgibt, wenn der Zielwert vorhanden ist existiert nicht. ;Die Funktion array_key_exists()
gibt False
zurück, wenn der Zielwert nicht existiert, und gibt True
nur zurück, wenn der Zielwert existiert . 🎜🎜IV. Zusammenfassung🎜🎜Es ist eine häufige Anforderung in PHP, festzustellen, ob ein Wert in einem Array vorhanden ist. In diesem Artikel werden drei Methoden in PHP vorgestellt: die Verwendung der Funktion in_array()
>array_search()-Funktion und verwenden Sie die Funktionen isset()
und array_key_exists()
. Diese Methoden sind relativ einfach in der Umsetzung und können je nach Bedarf ausgewählt und eingesetzt werden. Gleichzeitig können je nach tatsächlicher Situation auch andere Methoden oder Algorithmen ausgewählt werden. In jedem Fall liegt der Schlüssel in einem Kompromiss zwischen Korrektheit und Effizienz. 🎜Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob sich ein Wert in einem Array in PHP befindet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!