For PHP developers, arrays are often needed. Arrays are stored in key-value pairs. When the amount of data is large, finding an element may become time-consuming. PHP has a variety of built-in functions to find whether a specified value exists in an array. This article will introduce some of them and the differences between them.
in_array()
function is one of PHP’s built-in array functions, which is used to find a specified value in an array. Its syntax is as follows:
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Where,
This function will return a Boolean value indicating whether the value is in the array. If so, returns true, otherwise returns false.
For example, the following code demonstrates how to use the in_array()
function to find whether the string "apple" exists in the array $fruits:
$fruits = array("banana", "orange", "apple", "lemon"); if (in_array("apple", $fruits)) { echo "找到了 apple。"; } else { echo "没有找到 apple。"; }
The output result is:
找到了 apple。
array_search()
The function is also one of PHP's built-in array functions. It is used to find a specified value in an array and return its key. . Its syntax is as follows:
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
Where,
This function will return the key of the found value (using the numeric key and the associated key), or false if not found.
For example, the following code demonstrates how to use the array_search()
function to find whether the string "apple" exists in the array $fruits and return its key:
$fruits = array("banana", "orange", "apple", "lemon"); $key = array_search("apple", $fruits); if ($key) { echo "找到了 apple,它的键是 " . $key . "。"; } else { echo "没有找到 apple。"; }
The output result is:
找到了 apple,它的键是 2。
It should be noted that if the key corresponding to the value is 0, the array_search()
function will return 0, which may cause problems with the program, so Type judgment is required.
isset()
function and array_key_exists()
function can be used to determine whether a key exists in the array. The syntax is as follows:
bool isset ( mixed $var [, mixed $... ] ) bool array_key_exists ( mixed $key , array $array )
Among them,
Both functions will return a Boolean value indicating whether the key exists in the array.
It should be noted that the difference between the two functions is that the isset()
function can also be used to determine whether a variable exists. If the variable is not declared, it will return false. The array_key_exists()
function can only be used for arrays and does not support searching multi-dimensional arrays.
For example, the following code demonstrates how to use the isset()
function and the array_key_exists()
function to determine whether a 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。"; }
Output results For:
存在键 banana。存在键 orange。
This article introduces four functions for finding elements in PHP arrays: in_array()
, array_search()
, isset()
and array_key_exists()
. These functions can be selected and used according to different needs, among which the array_search()
function has certain advantages because it returns keys instead of Boolean values. But it should be noted that to determine whether the value is in the array, it is best to use the in_array()
function, because if the key is 0, the array_search()
function will return 0.
Finally, it is worth mentioning that none of the above functions are suitable for multi-dimensional arrays. For multi-dimensional arrays, we need to use recursion or other algorithms to complete the search operation.
The above is the detailed content of How to find whether a specified string exists in an array in php. For more information, please follow other related articles on the PHP Chinese website!