In PHP, we often need to determine whether an array variable exists in order to perform corresponding logical processing. Below we introduce several methods to determine whether an array variable exists.
isset() function is a built-in function in PHP, which is used to determine whether a variable has been set and is not NULL. The isset() function returns true if a variable is set, false otherwise.
Sample code:
$arr = array('a' => 1, 'b' => 2); if (isset($arr['a'])) { echo '$arr[\'a\'] 存在'; } else { echo '$arr[\'a\'] 不存在'; }
Explanation: The above code defines an array $arr and determines whether one of its elements $arr['a'] exists. Since $arr['a'] does exist, the result is that $arr['a'] exists.
The array_key_exists() function is also a built-in function in PHP, which is used to determine whether the specified key name exists in the array. Returns true if the specified key exists, false otherwise.
Sample code:
$arr = array('a' => 1, 'b' => 2); if (array_key_exists('a', $arr)) { echo '\'a\' 存在'; } else { echo '\'a\' 不存在'; }
Explanation: The above code determines whether there is an element with the key name 'a' in the array $arr. Since the element does exist, the result is that 'a' exists.
It should be noted that when using the array_key_exists() function to determine whether a key name exists, it will not determine whether the value corresponding to the key name is NULL. If the key exists but the corresponding value is NULL, true will still be returned.
The in_array() function is used to determine whether a specified value exists in the array. Returns true if the value exists, false otherwise. It should be noted that the in_array() function can only determine the values in the array, not the key names.
Sample code:
$arr = array(1, 2, 3); if (in_array(2, $arr)) { echo '2 存在'; } else { echo '2 不存在'; }
Explanation: The above code determines whether there is an element with a value of 2 in the array $arr. Since the element does exist, the result is 2 exists.
It should be noted that when the in_array() function determines whether a value exists, it judges whether the value of the element is equal to the specified value. Therefore, when judging the existence of a value, you need to pay attention to whether the type of the element value is consistent with the type of the specified value.
The empty() function is used to determine whether a variable is empty. The empty() function returns true if the value of the variable is '', 0, '0', NULL, FALSE or an empty array, otherwise it returns false.
Sample code:
$arr1 = array(); $arr2 = array('a' => 1, 'b' => 2); if (empty($arr1)) { echo '$arr1 是一个空数组'; } else { echo '$arr1 不是一个空数组'; } if (empty($arr2['c'])) { echo '$arr2[\'c\'] 不存在或者值为 NULL'; } else { echo '$arr2[\'c\'] 存在且值不为 NULL'; }
Explanation: The above code determines whether an element in an empty array and an array with a 'c' key exists. Since the elements in the empty array definitely do not exist, and the $arr2['c'] value in the array with the 'c' key name is NULL, the running result is: $arr1 is an empty array; $arr2['c' ] does not exist or the value is NULL.
It should be noted that for an array variable that does not exist, directly using the empty() function will report an error, so you need to first use the isset() function to determine whether the variable exists. For example:
if (isset($arr) && empty($arr)) { echo '$arr 是一个空数组'; }
The above code first uses isset() to determine whether the $arr variable exists, and if it exists, then uses empty() to determine whether it is empty.
The above is the detailed content of How to determine whether an array variable exists in php. For more information, please follow other related articles on the PHP Chinese website!