Home >Backend Development >PHP Problem >How to find whether an element in an array exists in php

How to find whether an element in an array exists in php

PHPz
PHPzOriginal
2023-04-25 09:09:36835browse

PHP is a flexible programming language that is well capable of managing and manipulating data collections, such as arrays. Arrays are one of the most commonly used data types in PHP because they provide an easy way to store and access data. In this article, we will discuss how to find if an element in an array exists in PHP.

There are several common ways to find elements in an array in PHP. We will introduce these methods in turn below.

Method 1: Use in_array() function

in_array() function can be used to determine whether a value is in an array. The syntax of this function is as follows:

in_array($needle, $haystack, $strict);

Among them, $needle is the element value you want to find; $haystack is the array you want to search; $strict (optional parameter) is a Boolean value used to determine whether to use strict mode when searching. If set to true, the types must also be the same to be considered a match.

Sample code:

$fruits = array('apple', 'orange', 'banana');
if(in_array('orange', $fruits)){
    echo 'orange 已经存在于数组中';
}else{
    echo 'orange 不存在于数组中';
}

Output: orange already exists in the array

Method 2: Use array_search() function

array_search() function can be used To find the key of an element in an array. The syntax of this function is as follows:

array_search($needle, $haystack, $strict);

Among them, $needle is the element value you want to find; $haystack is the array you want to search; $strict (optional parameter) is a Boolean value, used to determine the search time Whether to use strict mode. If set to true, the types must also be the same to be considered a match.

Sample code:

$fruits = array('apple', 'orange', 'banana');
$key = array_search('orange', $fruits);
if($key !== false){
    echo 'orange 已经存在于数组中,键名为 '.$key;
}else{
    echo 'orange 不存在于数组中';
}

Output: orange already exists in the array with the key name 1.

It should be noted that the array_search() function returns the key name of the element in the array. If it cannot be found, it returns false. Therefore, you need to use "!==" to determine whether the element is found.

Method 3: Use the isset() function

isset() function can be used to determine whether an element exists in the array. The syntax of this function is as follows:

isset($array[$key]);

where $array is the array you want to search; $key is the key name or index of the element you want to find.

Sample code:

$fruits = array('apple', 'orange', 'banana');
if(isset($fruits[1])){
    echo '数组中存在索引为 1 的元素';
}else{
    echo '数组中不存在索引为 1 的元素';
}

Output: The element with index 1 exists in the array.

It should be noted that the isset() function can only be used to find whether a key name or index exists in the array, but it cannot determine whether the value of the element is null or an empty string.

Method 4: Use array_key_exists() function

array_key_exists() function can be used to determine whether a key name exists in the array. The syntax of this function is as follows:

array_key_exists($key, $array);

Among them, $key is the key name you want to find; $array is the array you want to search.

Sample code:

$fruits = array('apple', 'orange', 'banana');
if(array_key_exists(1, $fruits)){
    echo '数组中存在索引为 1 的元素';
}else{
    echo '数组中不存在索引为 1 的元素';
}

Output: The element with index 1 exists in the array.

It should be noted that the array_key_exists() function can only be used to find the key name in the array, and cannot determine whether the element value corresponding to the key name is empty.

Method 5: Use the array_intersect() function

array_intersect() function can be used to find the intersection of two arrays, that is, to find the elements they share. The syntax of this function is as follows:

array_intersect($array1, $array2);

where $array1 and $array2 are the two arrays to be compared.

Sample code:

$fruits1 = array('apple', 'orange', 'banana');
$fruits2 = array('orange', 'papaya', 'mango');
$common_fruits = array_intersect($fruits1, $fruits2);
if(count($common_fruits) > 0){
    echo '两个数组中存在共同元素:';
    print_r($common_fruits);
}else{
    echo '两个数组中不存在共同元素';
}

Output: There are common elements in the two arrays: Array ([1] => orange)

It should be noted that array_intersect() The function returns a new array that contains the common elements in both arrays. If the two arrays have no elements in common, an empty array is returned.

To sum up, we have introduced five common ways to find elements in an array in PHP: in_array() function, array_search() function, isset() function, array_key_exists() function and array_intersect( ) function. In actual programming, you should choose the appropriate method to process the elements in the array according to your needs.

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