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

How to find whether an element exists in a php array

PHPz
PHPzOriginal
2023-04-23 09:16:20896browse

In PHP, array is a very common data type, usually used to store a series of values. When processing arrays, we often need to find whether an element exists in the array. PHP provides a variety of methods to achieve this function. This article will introduce several ways to find whether an array element exists in PHP.

1. Use the in_array() function

The in_array() function is the most commonly used method in PHP to find whether an array element exists. This function accepts two parameters, the first parameter is the value to be found, and the second parameter is the array to be found. If the value is found, it returns true, otherwise it returns false.

Sample code:

<?php
$fruits = array("apple", "banana", "orange");
if (in_array("banana", $fruits)) {
    echo "存在";
} else {
    echo "不存在";
}
?>

Run result:

存在

2. Use array_search() function

array_search() function is similar to in_array() function. Also used to find an element in an array. This function accepts two parameters, the first parameter is the value to be found, and the second parameter is the array to be found. If the value is found, the index of the value is returned, otherwise false is returned.

Sample code:

<?php
$fruits = array("apple", "banana", "orange");
$index = array_search("banana", $fruits);
if ($index !== false) {
    echo "存在,索引为:" . $index;
} else {
    echo "不存在";
}
?>

Running result:

存在,索引为:1

3. The difference between using in_array() and array_search() functions

Although the in_array() function Both the and array_search() functions can be used to find whether an array element exists, but they have some differences.

1. Return values ​​are different

The in_array() function only returns true or false, while the array_search() function returns the index of the value in the array (if it exists), otherwise it returns false .

2. Differentiate value types

The in_array() function uses loose comparison by default, which can identify different types of values, such as numbers and strings. The array_search() function uses strict comparison by default, that is, the index will be returned only when the type and position of the value match.

The sample code below can help better understand the differences between these two functions.

<?php
$fruits = array("1", 2, "apple", "banana");
if (in_array(1, $fruits)) {
    echo "存在";
} else {
    echo "不存在";
}
echo "<br>";
if (array_search("1", $fruits) !== false) {
    echo "存在,索引为:" . array_search("1", $fruits);
} else {
    echo "不存在";
}
?>

Running result:

存在
不存在

4. Use the array_key_exists() function

Similar to finding array elements, sometimes we also need to find whether a key in the array exists. PHP provides the array_key_exists() function to implement this function. This function accepts two parameters, the first parameter is the key name to be searched, and the second parameter is the array to be searched. Returns true if the key exists in the array, false otherwise.

Sample code:

<?php
$person = array("name" => "Tom", "age" => 28, "gender" => "male");
if (array_key_exists("age", $person)) {
    echo "存在";
} else {
    echo "不存在";
}
?>

Run result:

存在

5. Use the isset() function

In addition to using the array_key_exists() function, you can also use The isset() function determines whether a key in the array exists. This function also accepts two parameters, the first parameter is the key name to be searched, and the second parameter is the array to be searched. If the key exists in the array and its corresponding value is not null, it returns true, otherwise it returns false.

Sample code:

<?php
$person = array("name" => "Tom", "age" => 28, "gender" => "male");
if (isset($person["age"])) {
    echo "存在";
} else {
    echo "不存在";
}
?>

Running results:

存在

6. Summary

This article introduces several methods to find whether array elements exist in PHP. Including: in_array() function, array_search() function, array_key_exists() function and isset() function. When using these methods, you need to choose the appropriate method according to the specific situation, for example: do you need to return the index of the element or just know whether the element exists; do you need to distinguish the value type or not, etc.

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