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

How to determine whether a certain number is in an array in php

PHPz
PHPzOriginal
2023-04-17 16:36:51692browse

In PHP, there are many methods to determine whether a number is in an array. This article will introduce these methods in detail, and also introduce some other array operation functions.

  1. Use the in_array() function

The in_array() function can determine whether a value is in an array. The syntax is as follows:

in_array($value, $array, $strict)

Among them, $ The value parameter indicates the value to be found, the $array parameter indicates the array to be searched, and the $strict parameter indicates whether the data type strictly matches, which can be omitted and defaults to false. Returns true if the value is found, false otherwise.

The sample code is as follows:

$fruits = array("apple", "banana", "orange");

if (in_array("apple", $fruits)) {
    echo "苹果在数组中存在!";
} else {
    echo "苹果不在数组中存在!";
}

The output result is:

苹果在数组中存在!
  1. Use the array_search() function

array_search() function Searches for the specified value in the array and returns the corresponding key name, or false if not found. The syntax is as follows:

array_search($value, $array, $strict)

Among them, the $value parameter indicates the value to be found, the $array parameter indicates the array to be searched, and the $strict parameter indicates whether the data type strictly matches, which can be omitted and defaults to false.

The sample code is as follows:

$fruits = array("apple", "banana", "orange");

$key = array_search("banana", $fruits);
if ($key !== false) {
    echo "香蕉在数组中的键名为:" . $key;
} else {
    echo "香蕉不在数组中存在!";
}

The output result is:

香蕉在数组中的键名为:1

If you want to find whether a certain value exists, you can use it like the following:

$fruits = array("apple", "banana", "orange");

if (array_search("orange", $fruits) !== false) {
    echo "橘子在数组中存在!";
} else {
    echo "橘子不在数组中存在!";
}

The output result is:

橘子在数组中存在!
  1. Use in_array() and array_search() to determine simultaneously

In some cases, you need to know whether a value is in the array and Knowing its key name, you can combine the two functions in_array() and array_search() to make a judgment at the same time.

The sample code is as follows:

$fruits = array("apple", "banana", "orange");

if (in_array("banana", $fruits) && ($key = array_search("banana", $fruits)) !== false) {
    echo "香蕉在数组中的键名为:" . $key;
} else {
    echo "香蕉不在数组中存在!";
}

The output result is:

香蕉在数组中的键名为:1
  1. Use array_key_exists() function

array_key_exists() function can To determine whether the specified key name exists in the array, the syntax is as follows:

array_key_exists($key, $array)

Among them, the $key parameter represents the key name to be found, and the $array parameter represents the array to be searched. Returns true if the key name is found, false otherwise.

The sample code is as follows:

$fruits = array("apple" => 0, "banana" => 1, "orange" => 2);

if (array_key_exists("banana", $fruits)) {
    echo "香蕉在数组中存在!";
} else {
    echo "香蕉不在数组中存在!";
}

The output result is:

香蕉在数组中存在!
  1. Use isset() function

isset() function can To determine whether the specified key name exists in the array, the syntax is as follows:

isset($array[$key])

Among them, the $key parameter represents the key name to be found, and the $array parameter represents the array to be searched. Returns true if the key name is found, false otherwise.

The sample code is as follows:

$fruits = array("apple" => 0, "banana" => 1, "orange" => 2);

if (isset($fruits["orange"])) {
    echo "橘子在数组中存在!";
} else {
    echo "橘子不在数组中存在!";
}

The output result is:

橘子在数组中存在!

Note: When using the isset() function, please note that if the value corresponding to the key name is null, it will also Returns false, so it cannot accurately determine whether a key exists in the array.

  1. Use array_diff() function

array_diff() function can find the difference between two arrays, that is, return the difference that is in the first array but not in the following array all values. Therefore, if the value to be found is used as the first array and the original array is used as the second array, and the search result is that the difference set is empty, it means that it exists in the original array.

The sample code is as follows:

$fruits = array("apple", "banana", "orange");

if (count(array_diff(array("banana"), $fruits)) == 0) {
    echo "香蕉在数组中存在!";
} else {
    echo "香蕉不在数组中存在!";
}

The output result is:

香蕉在数组中存在!
  1. Use preg_grep() function

preg_grep() function can Use a regular expression to match array elements and return all matching elements. Therefore, if the value to be found is used as a regular expression and the original array is used as a parameter, and the search result is a non-empty array, it means that it exists in the original array.

The sample code is as follows:

$fruits = array("apple", "banana", "orange");

if (count(preg_grep("/banana/", $fruits)) > 0) {
    echo "香蕉在数组中存在!";
} else {
    echo "香蕉不在数组中存在!";
}

The output result is:

香蕉在数组中存在!

The above are various methods for judging whether a certain number is in an array in PHP. We can use it according to the actual situation. You need to choose a method that suits you. In addition, there are many other array operation functions, such as array_merge(), array_slice(), array_reverse(), etc. We can choose different functions to use according to different needs.

The above is the detailed content of How to determine whether a certain number is 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