Home > Article > Backend Development > PHP determines that it does not exist in an array
In PHP development, arrays are one of the most commonly used data types. Sometimes we need to determine whether a certain value exists in an array. We can use the in_array() function to achieve this. But what if we need to determine whether a value does not exist in the array? This article will introduce two methods to solve this problem.
Method 1: Use the !in_array() function
The in_array() function can determine whether a value exists in the array. If it exists, it returns true, otherwise it returns false. Then use the !in_array() function to determine whether a value does not exist in the array. As shown below:
$array = array(1, 2, 3, 4, 5); if (!in_array(6, $array)) { echo '6不存在于数组中'; }
In the code, it is judged whether 6 does not exist in the array. If it does not exist, '6 does not exist in the array' is output.
Method 2: Use the array_search() function
The array_search() function searches for a given value in the array and returns the corresponding key name. If the search is successful, the key name is returned; otherwise, false is returned. Then, if you want to determine whether a value does not exist in the array, you can use the array_search() function. As shown below:
$array = array(1, 2, 3, 4, 5); if (false === array_search(6, $array)) { echo '6不存在于数组中'; }
In the code, use the array_search() function to search for the key name of 6 in the $array array. If the search fails and returns false, it is judged that 6 does not exist in the array, and '6 does not exist' is output. in the array'.
But it should be noted that when using the !in_array() or array_search() function to determine whether a value does not exist in the array, you need to compare both the type and value of the return value, not just the comparison value. Because in PHP, false is sometimes considered to be 0 or an empty string. Therefore, it is better to use "===" for comparison. For example:
$array = array(0, false, "", null); if (false === array_search(0, $array)) { echo "0不在数组中"; } if (false === in_array(false, $array)) { echo "false不在数组中"; } if (false === in_array("", $array)) { echo "空字符串不在数组中"; } if (false === in_array(null, $array)) { echo "null不在数组中"; }
In the code, the $array array contains 0, false, empty string and null. Use the array_search() and in_array() functions respectively to determine whether these values do not exist in the array. Since false has different types from 0 and empty string, "===" must be used for comparison.
The above are two methods for judging that a certain value does not exist in an array. I hope it will be helpful to PHP development.
The above is the detailed content of PHP determines that it does not exist in an array. For more information, please follow other related articles on the PHP Chinese website!