Home  >  Article  >  Backend Development  >  How to determine whether data exists in an array in php

How to determine whether data exists in an array in php

PHPz
PHPzOriginal
2023-04-18 09:06:12657browse

In PHP development, determining whether data exists in an array is a very common requirement. In program implementation, there are many ways to achieve this function. This article will introduce several commonly used methods and discuss their advantages and disadvantages.

Method 1: Use the in_array() function

The in_array() function is a built-in function that can determine whether an element exists in an array. Its syntax is as follows:

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

Among them, $needle is the element to be found, $haystack is the array to be found, and $strict is used to specify whether to use congruent (===) comparison.

Sample code:

$fruit = array("apple", "banana", "orange");
if (in_array("apple", $fruit)) {
    echo "存在";
} else {
    echo "不存在";
}

Advantages: The in_array() function is easy to use and the code is concise.

Disadvantages: When the array is large, the performance of the in_array() function is poor because it needs to traverse the array one by one until it finds a matching element or reaches the end of the array.

Method 2: Use the array_search() function

The array_search() function is similar to the in_array() function. It can find the position of an element in the array and return its subscript. If the element does not exist, returns false. Its syntax is as follows:

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

Among them, $needle is the element to be found, $haystack is the array to be found, and $strict is used to specify whether to use congruent (===) comparison.

Sample code:

$fruit = array("apple", "banana", "orange");
if (array_search("apple", $fruit) !== false) {
    echo "存在";
} else {
    echo "不存在";
}

Advantages: The performance of using the array_search() function is better than the in_array() function because it returns the subscript immediately after finding the matching element and does not need to traverse the entire array .

Disadvantages: When the element to be found is contained in multiple positions in the array, the array_search() function only returns the first matching subscript. If you need to find the subscripts of all matching elements, you need to use other methods.

Method 3: Use isset() function

isset() function can determine whether the variable exists and has been assigned a value. In an array, it can be used to determine whether the array subscript exists. If the subscript exists and the corresponding element value is not null, then true is returned. Otherwise return false. Sample code:

$fruit = array("apple", "banana", "orange");
if (isset($fruit[1])) {
    echo "存在";
} else {
    echo "不存在";
}

Advantages: The performance of using isset() function is very high, because it does not need to traverse the entire array, it only needs to determine whether the specified subscript exists.

Disadvantages: The isset() function is not suitable for finding specific element values. It can only be used to find whether a subscript exists.

Method 4: Use the array_key_exists() function

The array_key_exists() function is used to determine whether the specified subscript exists in the array. Its syntax is as follows:

bool array_key_exists ( mixed $key , array $array )

Among them, $key is the subscript to be searched, and $array is the array to be searched.

Example function:

$fruit = array("apple", "banana", "orange");
if (array_key_exists(1, $fruit)) {
    echo "存在";
} else {
    echo "不存在";
}

Advantages: The array_key_exists() function is suitable for finding whether a specific subscript exists, and its performance is higher than the in_array() function.

Disadvantages: The array_key_exists() function is not suitable for finding specific element values. It can only be used to find whether a subscript exists.

In summary, which method to use to determine whether data exists in an array depends on the specific needs and application scenarios. When you need to find a specific element value, the in_array() function and array_search() function are both good choices. If you want to find out whether a specified subscript exists, or you need to check whether a variable has been assigned a value, you can use the isset() function or array_key_exists() function. No matter which method is used, be aware of the impact of array size on performance and choose the method that best suits the actual application scenario.

The above is the detailed content of How to determine whether data exists in an 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