So finden Sie heraus, ob eine bestimmte Zeichenfolge in einem Array in PHP vorhanden ist

PHPz
Freigeben: 2023-04-20 09:20:30
Original
661 Leute haben es durchsucht

Für PHP-Entwickler werden häufig Arrays benötigt. Arrays werden in Schlüssel-Wert-Paaren gespeichert. Wenn die Datenmenge groß ist, kann das Auffinden eines Elements zeitaufwändig werden. PHP verfügt über eine Vielzahl integrierter Funktionen, um herauszufinden, ob ein bestimmter Wert in einem Array vorhanden ist. In diesem Artikel werden einige davon und die Unterschiede zwischen ihnen vorgestellt.

in_array-Funktion

in_array() Die Funktion ist eine der integrierten Array-Funktionen von PHP, die verwendet wird, um einen bestimmten Wert in einem zu finden Array. Seine Syntax ist wie folgt: in_array() 函数是 PHP 内置的数组函数之一,它用于在数组中查找指定的值。它的语法如下:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Nach dem Login kopieren

其中,

  • mixed $needle:要查找的值。
  • array $haystack:查找的数组。
  • bool $strict:是否使用严格模式。如果为 true,则搜索会比较数据类型,并且不同类型的值不相等。默认为 false。

该函数将返回一个布尔值,表示值是否在数组中。如果是,则返回 true,否则返回 false。

例如,以下代码演示了如何使用 in_array() 函数来查找字符串 "apple" 是否存在于数组 $fruits 中:

$fruits = array("banana", "orange", "apple", "lemon");

if (in_array("apple", $fruits)) {
    echo "找到了 apple。";
} else {
    echo "没有找到 apple。";
}
Nach dem Login kopieren

输出结果为:

找到了 apple。
Nach dem Login kopieren

array_search 函数

array_search() 函数也是 PHP 内置的数组函数之一,它用于在数组中查找指定的值,并返回它的键。它的语法如下:

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
Nach dem Login kopieren

其中,

  • mixed $needle:要查找的值。
  • array $haystack:查找的数组。
  • bool $strict:是否使用严格模式。如果为 true,则搜索会比较数据类型,并且不同类型的值不相等。默认为 false。

该函数将返回找到的值的键(使用数字键和关联键),如果没找到,则返回 false。

例如,以下代码演示了如何使用 array_search() 函数来查找字符串 "apple" 是否存在于数组 $fruits 中,并返回它的键:

$fruits = array("banana", "orange", "apple", "lemon");
$key = array_search("apple", $fruits);

if ($key) {
    echo "找到了 apple,它的键是 " . $key . "。";
} else {
    echo "没有找到 apple。";
}
Nach dem Login kopieren

输出结果为:

找到了 apple,它的键是 2。
Nach dem Login kopieren

需要注意的是,如果值对应的键是 0,则 array_search() 函数会返回 0,这可能会导致程序出现问题,因此需要进行类型判断。

isset 和 array_key_exists 函数

isset() 函数和 array_key_exists() 函数都可以用于判断数组中是否存在某个键,语法如下:

bool isset ( mixed $var [, mixed $... ] )
bool array_key_exists ( mixed $key , array $array )
Nach dem Login kopieren

其中,

  • mixed $var/$key:要查找的键。
  • mixed $...:可选。要查找的多个键。
  • array $array:查找的数组。

两个函数都将返回一个布尔值,表示键是否存在于数组中。

需要注意的是,两个函数的差异在于,isset() 函数也可以用于判断变量是否存在,如果变量未声明,会返回 false。而 array_key_exists() 函数只能用于数组,并且不支持搜索多维数组。

例如,以下代码演示了如何使用 isset() 函数和 array_key_exists() 函数来判断键是否存在:

$fruits = array("banana" => 2, "orange" => 3, "apple" => 4, "lemon" => 1);

if (isset($fruits["banana"])) {
    echo "存在键 banana。";
} else {
    echo "不存在键 banana。";
}

if (array_key_exists("orange", $fruits)) {
    echo "存在键 orange。";
} else {
    echo "不存在键 orange。";
}
Nach dem Login kopieren

输出结果为:

存在键 banana。存在键 orange。
Nach dem Login kopieren

总结

本文介绍了 PHP 数组中四个用于查找元素的函数:in_array()array_search()isset()array_key_exists()。这些函数可以根据不同的需求选择使用,其中 array_search() 函数具有一定的优势,因为它返回键,而不是布尔值。但需要注意的是,要判断值是否在数组中,最好使用 in_array() 函数,因为如果键是 0,array_search()rrreee

Where,

  • mixed $needle: Der zu findende Wert.
  • array $haystack: das Array, nach dem gesucht werden soll.
  • bool $strict: ob der strikte Modus verwendet werden soll. Bei „true“ vergleicht die Suche Datentypen und Werte verschiedener Typen sind nicht gleich. Der Standardwert ist falsch.
Diese Funktion gibt einen booleschen Wert zurück, der angibt, ob sich der Wert im Array befindet. Wenn ja, wird „true“ zurückgegeben, andernfalls wird „false“ zurückgegeben. #🎜🎜##🎜🎜#Der folgende Code zeigt beispielsweise, wie Sie mit der Funktion in_array() herausfinden, ob die Zeichenfolge „apple“ im Array $fruits vorhanden ist: #🎜🎜#rrreee #🎜🎜 #Das Ausgabeergebnis ist: #🎜🎜#rrreee#🎜🎜#array_search function #🎜🎜##🎜🎜#array_search() Die Funktion ist auch eine der integrierten Array-Funktionen von PHP , das in Arrays verwendet wird. Findet den angegebenen Wert und gibt seinen Schlüssel zurück. Seine Syntax ist wie folgt: #🎜🎜#rrreee#🎜🎜#Where, #🎜🎜#
  • mixed $needle: Der zu findende Wert.
  • array $haystack: das Array, nach dem gesucht werden soll.
  • bool $strict: ob der strikte Modus verwendet werden soll. Bei „true“ vergleicht die Suche Datentypen und Werte verschiedener Typen sind nicht gleich. Der Standardwert ist falsch.
#🎜🎜#Diese Funktion gibt den Schlüssel des gefundenen Werts zurück (unter Verwendung der Zifferntaste und des zugehörigen Schlüssels) oder false, wenn er nicht gefunden wird. #🎜🎜##🎜🎜#Der folgende Code zeigt beispielsweise, wie Sie mit der Funktion array_search() herausfinden, ob die Zeichenfolge „apple“ im Array $fruits vorhanden ist, und ihren Schlüssel zurückgeben: # 🎜 🎜#rrreee#🎜🎜#Das Ausgabeergebnis ist: #🎜🎜#rrreee#🎜🎜#Es ist zu beachten, dass die Funktion array_search() dies tut, wenn der dem Wert entsprechende Schlüssel 0 ist Geben Sie 0 zurück, was zu Problemen im Programm führen kann. Daher ist eine Typbeurteilung erforderlich. #🎜🎜##🎜🎜#isset- und array_key_exists-Funktionen #🎜🎜##🎜🎜#isset()-Funktion und array_key_exists()-Funktion können zur Bestimmung des Arrays verwendet werden Unabhängig davon, ob ein bestimmter Schlüssel vorhanden ist, lautet die Syntax wie folgt: #🎜🎜#rrreee#🎜🎜#Unter ihnen #🎜🎜#
  • gemischt $var/$key: der zu findende Schlüssel.
  • gemischt $...: optional. Mehrere Schlüssel zu finden.
  • array $array: das Array, nach dem gesucht werden soll.
#🎜🎜#Beide Funktionen geben einen booleschen Wert zurück, der angibt, ob der Schlüssel im Array vorhanden ist. #🎜🎜##🎜🎜#Es ist zu beachten, dass der Unterschied zwischen den beiden Funktionen darin besteht, dass die Funktion isset() auch verwendet werden kann, um festzustellen, ob eine Variable vorhanden ist, wenn die Variable nicht deklariert ist , es wird false zurückgeben. Die Funktion array_key_exists() kann nur für Arrays verwendet werden und unterstützt nicht die Suche nach mehrdimensionalen Arrays. #🎜🎜##🎜🎜#Der folgende Code zeigt beispielsweise, wie die Funktion isset() und die Funktion array_key_exists() verwendet werden, um festzustellen, ob ein Schlüssel vorhanden ist: #🎜🎜#rrreee #🎜🎜#Das Ausgabeergebnis ist: #🎜🎜#rrreee#🎜🎜#Summary#🎜🎜##🎜🎜#In diesem Artikel werden vier Funktionen zum Suchen von Elementen in PHP-Arrays vorgestellt: in_array() , array_search(), isset() und array_key_exists(). Diese Funktionen können je nach Bedarf ausgewählt und verwendet werden, wobei die Funktion array_search() bestimmte Vorteile hat, da sie Schlüssel anstelle von booleschen Werten zurückgibt. Es ist jedoch zu beachten, dass es besser ist, die Funktion in_array() zu verwenden, um festzustellen, ob sich der Wert im Array befindet, denn wenn der Schlüssel 0 ist, ist die Funktion array_search() code> Funktion gibt 0 zurück. #🎜🎜##🎜🎜#Abschließend ist zu erwähnen, dass keine der oben genannten Funktionen für mehrdimensionale Arrays geeignet ist. Für mehrdimensionale Arrays müssen wir Rekursion oder andere Algorithmen verwenden, um den Suchvorgang abzuschließen. #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo finden Sie heraus, ob eine bestimmte Zeichenfolge in einem Array in PHP vorhanden ist. 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