Heim >Backend-Entwicklung >PHP-Problem >So finden Sie heraus, ob eine bestimmte Zeichenfolge in einem Array in PHP vorhanden ist
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()
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 ] )
其中,
该函数将返回一个布尔值,表示值是否在数组中。如果是,则返回 true,否则返回 false。
例如,以下代码演示了如何使用 in_array()
函数来查找字符串 "apple" 是否存在于数组 $fruits 中:
$fruits = array("banana", "orange", "apple", "lemon"); if (in_array("apple", $fruits)) { echo "找到了 apple。"; } else { echo "没有找到 apple。"; }
输出结果为:
找到了 apple。
array_search()
函数也是 PHP 内置的数组函数之一,它用于在数组中查找指定的值,并返回它的键。它的语法如下:
mixed array_search ( mixed $needle , array $haystack [, bool $strict = 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。"; }
输出结果为:
找到了 apple,它的键是 2。
需要注意的是,如果值对应的键是 0,则 array_search()
函数会返回 0,这可能会导致程序出现问题,因此需要进行类型判断。
isset()
函数和 array_key_exists()
函数都可以用于判断数组中是否存在某个键,语法如下:
bool isset ( mixed $var [, mixed $... ] ) bool array_key_exists ( mixed $key , 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。"; }
输出结果为:
存在键 banana。存在键 orange。
本文介绍了 PHP 数组中四个用于查找元素的函数:in_array()
、array_search()
、isset()
和 array_key_exists()
。这些函数可以根据不同的需求选择使用,其中 array_search()
函数具有一定的优势,因为它返回键,而不是布尔值。但需要注意的是,要判断值是否在数组中,最好使用 in_array()
函数,因为如果键是 0,array_search()
rrreee
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, #🎜🎜#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 #🎜🎜#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!