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

So ermitteln Sie, ob sich ein Wert in einem Array in PHP befindet

PHPz
Freigeben: 2023-04-25 18:03:42
Original
666 Leute haben es durchsucht

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:

  1. PHP-Arrays sind geordnete Listen, und jedes Element hat einen eindeutigen Schlüsselwert (dh einen Index). eine Ganzzahl oder eine Zeichenfolge sein.
  2. PHP-Array-Schlüsselwerte können automatisch wachsen.
  3. Der Wert des PHP-Arrays kann jede Art von Daten sein, einschließlich Ganzzahl, Gleitkomma, Boolescher Wert, Zeichenfolge, Objekt usw.

Zum Beispiel ist das Folgende ein einfaches PHP-Array:

$cities=array("Beijing","Shanghai","Guangzhou","Shenzhen");
Nach dem Login kopieren

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() 函数等等,下面分别进行介绍。

  1. 使用 in_array() 函数判断值是否在数组中

in_array() 函数用于检查一个值是否存在于一个数组中,并返回一个布尔值。如果 $value 存在于 $arr 中,则返回 True,否则返回 False

in_array($value,$arr);
Nach dem Login kopieren

下面是一个示例:

$fruits=array("apple","banana","orange","kiwi");
if(in_array("banana",$fruits)){
    echo "查找到了值!";
}else{
    echo "未查找到值.";
}
Nach dem Login kopieren

这段代码将输出 查找到了值!

  1. 使用 array_search() 函数判断值是否在数组中

array_search() 函数用于尝试在数组中查找一个元素,并返回它的键(即下标)。如果 $value 存在于 $arr 中,则返回该元素的键,否则返回 False

array_search($value,$arr);
Nach dem Login kopieren

下面是一个示例:

$fruits=array("apple","banana","orange","kiwi");
$index=array_search("banana",$fruits);
echo $index;
Nach dem Login kopieren

这段代码将输出 1,因为 banana 对应 $fruits 数组中的第二个元素,它的下标是 1。

需要注意的是,如果 $value 对应多个元素,则只返回遇到的第一个元素的下标。

  1. 使用 isset()array_key_exists() 函数判断值是否在数组中

isset() 函数用于检测变量是否设置,如果变量存在且值不是 NULL,则返回 True,否则返回 False

isset($arr[$key]);
Nach dem Login kopieren

array_key_exists() 函数用于检查指定的键或索引是否存在于数组中。如果 $key 存在于 $arr 中,则返回 True,否则返回 False

array_key_exists($key,$arr);
Nach dem Login kopieren

下面是一个示例:

$fruits=array("apple"=>1,"banana"=>2,"orange"=>3,"kiwi"=>4);
if(isset($fruits["banana"])){
    echo "查找到了值!";
}else{
    echo "未查找到值.";
}
Nach dem Login kopieren

这段代码将输出 查找到了值!,因为该数组中存在键值为 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()

2. So ermitteln Sie, ob sich ein Wert in einem Array in PHP befindet. Nehmen wir nun an, dass wir ein Array $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. 🎜
    🎜Verwenden Sie die Funktion 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. 🎜
      🎜Verwenden Sie die Funktionen 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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage