Home  >  Article  >  Backend Development  >  How to check if there is a certain key in the array in php

How to check if there is a certain key in the array in php

PHPz
PHPzOriginal
2023-04-25 10:32:471504browse

In PHP programming, array is a very common data type, which can be used to store a set of related data. Regarding arrays, we usually encounter some problems, such as determining whether a certain key value exists in the array. So, how to determine whether a key value exists in an array in PHP?

In fact, it is very simple to determine whether an array contains a certain key value in PHP. There are mainly the following methods.

Method 1: Use the isset function

The isset() function in PHP can be used to determine whether a variable exists and the value of the variable is not NULL. Therefore, we can use this function to determine whether a key value exists in the array. For example:

$arr = array('name' => '张三', 'age' => 22, 'gender' => '男');
if (isset($arr['name'])) {
    echo '存在 name 键';
} else {
    echo '不存在 name 键';
}

In the above code, we first define an associative array $arr, and then use the isset() function to determine whether the 'name' key exists in the array. If it exists, the prompt message "name key exists" is output, otherwise "name key does not exist" is output.

It should be noted that when using the isset() function to determine whether a certain key value exists in the array, you need to note that the parameter passed in is the key name, not the key value. For example, isset($arr['Zhang San']) is wrong and should be written as isset($arr['name']).

Method 2: Use the array_key_exists function

In addition to the isset() function, PHP also provides the array_key_exists() function that can be used to determine whether a certain key exists in the array. Unlike the isset() function, the array_key_exists() function must include the key name in its argument. For example:

$arr = array('name' => '张三', 'age' => 22, 'gender' => '男');
if (array_key_exists('name', $arr)) {
    echo '存在 name 键';
} else {
    echo '不存在 name 键';
}

The above code is similar to the code of method 1, except that the way to determine the key value is different, using the array_key_exists() function. If the 'name' key exists, the prompt message "name key exists" is output, otherwise "name key does not exist" is output.

It should be noted that the return values ​​of the isset() function and the array_key_exists() function are different. The isset() function returns a Boolean value (true or false), while the array_key_exists() function returns a Boolean type variable (0 or 1), so its method may be more suitable for conditional judgment.

Method 3: Use the in_array function

The in_array() function in PHP is mainly used to determine whether a value exists in the array. If it exists, it returns true, otherwise it returns false. So, can we use the in_array() function to determine whether a key exists in the array? The answer is yes. For example:

$arr = array('name' => '张三', 'age' => 22, 'gender' => '男');
if (in_array('name', array_keys($arr))) {
    echo '存在 name 键';
} else {
    echo '不存在 name 键';
}

In the above code, we first use the array_keys() function to get all the key names in the array, and then use the in_array() function to determine whether 'name' exists in the array. If it exists, the prompt message "name key exists" is output, otherwise "name key does not exist" is output.

It should be noted that when using the in_array() function to determine whether a certain key name exists in the array, you need to use the key name in the array as the first parameter of the in_array() function, and all the keys in the array An array of names is passed in as the second parameter.

Method 4: Use the array_search function

Finally, we can also use the array_search() function to determine whether a key name exists in the array. Different from the in_array() function, the array_search() function returns the key value corresponding to the key name, and returns false if the corresponding key name is not found. For example:

$arr = array('name' => '张三', 'age' => 22, 'gender' => '男');
if (array_search('name', array_keys($arr)) !== false) {
    echo '存在 name 键';
} else {
    echo '不存在 name 键';
}

In the above code, we use the array_search() function to determine whether the 'name' key exists in the array. If it exists, the prompt message "name key exists" is output, otherwise "name key does not exist" is output.

It should also be noted that when using the array_search() function to determine whether a key name exists, you need to use the inequality operator (!==) to compare the return value of the function with false, because if The key value of this key name is 0 or an empty string. If the equal operator (==) is used directly, a misjudgment will occur.

To sum up, there are four main ways to determine whether a key value exists in an array in PHP: using isset() function, using array_key_exists() function, using in_array() function and using array_search( ) function. Developers can choose a method that suits them according to their needs.

The above is the detailed content of How to check if there is a certain key in the array in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn