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

How to find whether a specified string exists in an array in php

PHPz
PHPzOriginal
2023-04-20 09:07:55677browse

For PHP developers, arrays are often needed. Arrays are stored in key-value pairs. When the amount of data is large, finding an element may become time-consuming. PHP has a variety of built-in functions to find whether a specified value exists in an array. This article will introduce some of them and the differences between them.

in_array function

in_array() function is one of PHP’s built-in array functions, which is used to find a specified value in an array. Its syntax is as follows:

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

Where,

  • mixed $needle: The value to be found.
  • array $haystack: array to search for.
  • bool $strict: Whether to use strict mode. If true, the search compares data types and values ​​of different types are not equal. Default is false.

This function will return a Boolean value indicating whether the value is in the array. If so, returns true, otherwise returns false.

For example, the following code demonstrates how to use the in_array() function to find whether the string "apple" exists in the array $fruits:

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

if (in_array("apple", $fruits)) {
    echo "找到了 apple。";
} else {
    echo "没有找到 apple。";
}

The output result is:

找到了 apple。

array_search function

array_search() The function is also one of PHP's built-in array functions. It is used to find a specified value in an array and return its key. . Its syntax is as follows:

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

Where,

  • mixed $needle: The value to be found.
  • array $haystack: array to search for.
  • bool $strict: Whether to use strict mode. If true, the search compares data types and values ​​of different types are not equal. Default is false.

This function will return the key of the found value (using the numeric key and the associated key), or false if not found.

For example, the following code demonstrates how to use the array_search() function to find whether the string "apple" exists in the array $fruits and return its key:

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

if ($key) {
    echo "找到了 apple,它的键是 " . $key . "。";
} else {
    echo "没有找到 apple。";
}

The output result is:

找到了 apple,它的键是 2。

It should be noted that if the key corresponding to the value is 0, the array_search() function will return 0, which may cause problems with the program, so Type judgment is required.

isset and array_key_exists functions

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

bool isset ( mixed $var [, mixed $... ] )
bool array_key_exists ( mixed $key , array $array )

Among them,

  • mixed $var/$key: the key to be found.
  • mixed $...: Optional. Multiple keys to find.
  • array $array: the array to search for.

Both functions will return a Boolean value indicating whether the key exists in the array.

It should be noted that the difference between the two functions is that the isset() function can also be used to determine whether a variable exists. If the variable is not declared, it will return false. The array_key_exists() function can only be used for arrays and does not support searching multi-dimensional arrays.

For example, the following code demonstrates how to use the isset() function and the array_key_exists() function to determine whether a key exists:

$fruits = array("banana" => 2, "orange" => 3, "apple" => 4, "lemon" => 1);

if (isset($fruits["banana"])) {
    echo "存在键 banana。";
} else {
    echo "不存在键 banana。";
}

if (array_key_exists("orange", $fruits)) {
    echo "存在键 orange。";
} else {
    echo "不存在键 orange。";
}

Output results For:

存在键 banana。存在键 orange。

Summary

This article introduces four functions for finding elements in PHP arrays: in_array(), array_search() , isset() and array_key_exists(). These functions can be selected and used according to different needs, among which the array_search() function has certain advantages because it returns keys instead of Boolean values. But it should be noted that to determine whether the value is in the array, it is best to use the in_array() function, because if the key is 0, the array_search() function will return 0.

Finally, it is worth mentioning that none of the above functions are suitable for multi-dimensional arrays. For multi-dimensional arrays, we need to use recursion or other algorithms to complete the search operation.

The above is the detailed content of How to find whether a specified string 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