In PHP development, many times we need to perform certain operations on an array, and one of the common requirements is to query whether a certain data is in the array. There are many ways to achieve this requirement. Below we will introduce several common methods in detail.
PHP provides an in_array() function, whose function is to determine whether a value exists in the array. The way to use this function is:
bool in_array(mixed $needle, array $haystack [, bool $strict = false ])
where $needle represents the value to be found, $haystack represents The array to search in, $strict indicates whether type checking is turned on.
For example:
$example = array('a', 'b', 'c'); if (in_array('a', $example)) { echo "存在"; } else { echo "不存在"; }
In the above example, the function will return true because the value 'a' exists in the array $example. If we change the value we are looking for to 'd', the function will return false.
In addition to the in_array() function, PHP also provides an array_search() function, which is used to search in an array A value and returns its key name. If the value does not exist in the array, returns false.
The usage of this function is:
mixed array_search(mixed $needle, array $haystack [, bool $strict = false])
For example:
$example = array('a' => 1, 'b' => 2, 'c' => 3); $key = array_search(2, $example); if ($key !== false) { echo '存在,对应的键名为:' . $key; } else { echo '不存在'; }
In the above example, the function will return "Exists, the corresponding key name is: b", because the value 2 exists in the array, and the corresponding key name is b. If the value we are looking for is 4, the function returns false.
It should be noted that when using the array_search() function, you need to be careful when the key name is 0. Because when the value to be found is 0, the function will treat the value with the key name 0 as if it does not exist. If you want to solve this problem, you can turn on type checking in the third parameter.
Sometimes when we need to find a value in the array, we also need to know the key name corresponding to the value. . At this time, you can use the in_array() function combined with the array key name to search.
The specific implementation method is to add the key name to the array, and then use the in_array() function to search:
$example = array('a' => 1, 'b' => 2, 'c' => 3); if (in_array(2, $example, true)) { $key = array_search(2, $example, true); echo '存在,对应的键名为:' . $key; } else { echo '不存在'; }
In the above example, we converted the original index array into an associative array, so that we can Find the corresponding value through the array key name.
Summary
The above three methods can all be used to query whether a certain data is in an array in PHP. The specific usage depends on the actual needs. It should be noted that in actual development, different array structures can be processed in different ways. In addition, if you need to perform frequent query operations, you can convert the array into an associative array, which makes search operations more convenient.
The above is the detailed content of PHP queries whether a certain data is in the array. For more information, please follow other related articles on the PHP Chinese website!