How to determine whether a specified value is included in an array in php

PHPz
Release: 2023-04-26 15:22:24
Original
525 people have browsed it

In PHP programming, determining whether an element is in an array is a common operation, which can be implemented using the in_array function. However, some developers will use native PHP syntax, that is, use "==" or "===" to judge. In this case, different results may be obtained. Therefore, this article will discuss the related issues of whether PHP is included in an array.

1. Use of in_array function

in_array is a function provided by PHP to determine whether an element is in an array. Its syntax is as follows:

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

This function accepts three parameters:

  1. needle: the element to be found
  2. haystack: to be found Array of
  3. strict: whether to use strict mode. If true, determines whether the element is of the same type as the array element (both type and value match).

For example, in the following code, we use in_array to determine whether "apple" is in the $fruits array:

$fruits = array('banana', 'apple', 'orange');
if (in_array('apple', $fruits)) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}
Copy after login

The above code will output "Yes, apple is in the fruits array ”, because “apple” is indeed in the $fruits array.

2. Native PHP syntax to determine whether an element is in an array

Some developers may use native PHP syntax to determine whether an element is in an array, such as using "==" or "== =” to compare. For example:

$fruits = array('banana', 'apple', 'orange');
if ('apple' == $fruits[1]) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}
Copy after login

This code is equivalent to the code using in_array, both will output "Yes, apple is in the fruits array". Because "apple" has the same value as $fruits[1].

However, using native PHP syntax to determine whether an element is in an array may result in different results, especially when using "===".

For example, in the following code, we compare both an integer 1 and a string '1' with array elements:

$test_array = array('1', '2', '3');
var_dump(1 == $test_array[0]);    // true
var_dump('1' == $test_array[0]);  // true,因为'1'会被转换成整型1
var_dump(1 === $test_array[0]);   // false,类型不匹配
var_dump('1' === $test_array[0]); // false,类型不匹配
Copy after login

In the above code, use "==" for comparison When , both the integer type 1 and the string '1' will be converted to the integer type 1, so they are the same as the array element '1'.

However, when using "===" comparison, because the types do not match (one is an integer, the other is a string), the comparison result is false.

3. Other methods to determine whether an element is in an array

In addition to using the in_array function and native PHP syntax, there are other methods to determine whether an element is in an array.

  1. array_search function

The array_search function can find an element in the array and return its corresponding key name. If it is not found, it returns false. For example:

$fruits = array('banana', 'apple', 'orange');
$key = array_search('apple', $fruits);
if ($key !== false) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}
Copy after login

In the above code, if 'apple' is found, the corresponding key name 1 is returned, so "Yes, apple is in the fruits array" is output.

  1. in_array function combined with array_flip function

Using in_array function combined with array_flip function can quickly determine whether the element is in the array, but it should be noted that the value in the array must be unique .

$fruits = array('banana', 'apple', 'orange');
$flip_fruits = array_flip($fruits); // 交换键和值
if (isset($flip_fruits['apple'])) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}
Copy after login

In the above code, we exchange the keys and values ​​of the $fruits array to get a new $flip_fruits array. Then, we use the isset function to determine whether 'apple' is a key of the $flip_fruits array. If it is, then 'apple' is in the $fruits array.

4. Summary

In PHP programming, judging whether an element is in an array is a common operation, which can be implemented using the in_array function. This function can also be implemented using native PHP syntax, but you need to pay attention to type matching issues. In addition, other methods can also be used, such as array_search function and in_array function combined with array_flip function.

Finally, I hope this article can be helpful to PHP developers when dealing with arrays.

The above is the detailed content of How to determine whether a specified value is included in an array 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