Home > Backend Development > PHP Problem > How to determine whether an array contains a certain value in php

How to determine whether an array contains a certain value in php

PHPz
Release: 2023-04-19 09:37:56
Original
666 people have browsed it

In PHP programming, it is a very common requirement to determine whether an array contains an element. This article will introduce various judgment methods, as well as their advantages, disadvantages and applicable scenarios.

  1. in_array function

PHP’s built-in in_array function can be used to determine whether a value exists in an array. The syntax of this function is as follows:

bool in_array (mixed $needle, array $haystack [, bool $strict = FALSE ])
Copy after login

where $needle represents the value to be found, and $haystack represents the array to be searched in. Returns true if found, false otherwise. The strict parameter indicates whether to enable type checking. The default is false, which means only checking whether the values ​​of the elements are equal, not whether the types are the same.

Sample code:

$fruits = array('apple', 'banana', 'orange');
if (in_array('banana', $fruits)) {
    echo '数组中包含 banana';
} else {
    echo '数组中不包含 banana';
}
Copy after login

This code will output: The array contains banana.

The in_array function is suitable for finding elements in ordinary arrays.

  1. array_key_exists function

array_key_exists function can be used to find whether a key exists in an associative array. The syntax is as follows:

bool array_key_exists (mixed $key, array $array )
Copy after login

Among them, $key represents the key to be searched, and $array represents the associative array to be searched in. Returns true if found, false otherwise.

Sample code:

$age = array('Peter' => 35, 'John' => 40, 'Mary' => 25);
if (array_key_exists('Mary', $age)) {
    echo '数组中包含键 Mary';
} else {
    echo '数组中不包含键 Mary';
}
Copy after login

This code will output: The array contains the key Mary.

array_key_exists function is suitable for finding whether a key exists in an associative array.

  1. isset function

If the value of an element in the array is NULL, both the in_array function and the array_key_exists function return false. At this time, you can use the isset function to judge. The syntax is as follows:

bool isset ( mixed $var [, mixed $... ] )
Copy after login

Among them, $var represents the variable or array element to be judged. Returns true if the variable exists and is not NULL, false otherwise.

Sample code:

$person = array('name' => 'Tom', 'age' => 20, 'email' => NULL);
if (isset($person['email'])) {
    echo '数组中包含键 email';
} else {
    echo '数组中不包含键 email';
}
Copy after login

This code will output: The array contains the key email.

isset function is suitable for determining whether a variable or array element exists and is not NULL.

  1. array_search function

array_search function can find a value in an array and return its corresponding key. The syntax is as follows:

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
Copy after login

Among them, $needle represents the value to be found, and $haystack represents the array to be searched in. If the search is successful, the key corresponding to the element is returned, otherwise false is returned. The strict parameter indicates whether to enable type checking, and the default is false.

Sample code:

$fruits = array('apple', 'banana', 'orange');
$key = array_search('banana', $fruits);
if (false !== $key) {
    echo '数组中包含 banana,其键为:' . $key;
} else {
    echo '数组中不包含 banana';
}
Copy after login

This code will output: The array contains banana, and its key is: 1.

array_search function is suitable for finding the key corresponding to a value in an array.

  1. Custom function

If the above functions cannot meet the needs, you can customize the judgment function according to the actual situation. For example, the following function is used to determine whether an array contains a certain value:

function in_array_ex($needle, $haystack) {
    foreach ($haystack as $value) {
        if ($value === $needle) {
            return true;
        }
    }
    return false;
}
Copy after login

This function uses a foreach loop to traverse the array and compare one by one whether the value of the array element is equal to the value to be found. Returns true if found, false otherwise.

Sample code:

$fruits = array('apple', 'banana', 'orange');
if (in_array_ex('banana', $fruits)) {
    echo '数组中包含 banana';
} else {
    echo '数组中不包含 banana';
}
Copy after login

This code will output: The array contains banana.

Custom functions are suitable for specific judgment needs and have high flexibility and applicability.

In summary, to determine whether an array contains an element, you can use PHP's built-in in_array, array_key_exists, isset, and array_search functions, or you can customize the judgment function according to actual needs. Choosing a judgment method suitable for the scenario can improve the efficiency and maintainability of the program.

The above is the detailed content of How to determine whether an array contains a certain value in php. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template