Home >Backend Development >PHP Problem >Is the php string in the array?

Is the php string in the array?

WBOY
WBOYOriginal
2023-05-19 14:56:381147browse

PHP is a server-side programming language. It has a very rich function library and built-in functions, including many functions related to strings and arrays. In PHP, using arrays for data storage and processing is a very common operation, and finding whether a specified string exists in an array is also a common requirement.

There are many ways to determine whether a string exists in an array. We can use a loop to traverse the array, or we can use PHP built-in functions to determine. Below we will introduce in detail several methods to determine whether a string is in an array. method in.

Method 1: Use the in_array() function to determine

PHP provides the in_array() function, which can quickly determine whether a value exists in the array. The basic usage of the in_array() function is as follows:

in_array($needle, $haystack);

where $needle is the value to be found, and $haystack is the array to be found. This function returns a Boolean value, true if the specified element is found, otherwise false.

For example:

$names = ['Alice', 'Bob', 'Charlie'];
var_dump(in_array('Charlie', $names)); // 输出 true
var_dump(in_array('David', $names)); // 输出 false

In the above code, we define an array $names, and then use the in_array() function to find 'Charlie' and 'David' two values, the results returned true and false respectively.

When using the in_array() function to determine whether a string is in an array, you need to pay attention to the following issues:

  1. The in_array() function is case-sensitive by default, that is, the judgment The case must be consistent;
  2. in_array() function can only determine whether the value exists in the array, but not the position of the value in the array;
  3. in_array() function can only To judge the elements in a one-dimensional array, for multi-dimensional arrays, other methods need to be used for judgment.

Method 2: Use the array_search() function to determine

If you need to find a specific position that appears in the array, we can use the array_search() function. This function is similar to the in_array() function, except that it returns the key name of the value to be found in the array instead of returning a Boolean value.

The basic usage of the array_search() function is as follows:

array_search($needle, $haystack);

where $needle is the value to be found, $haystack is the array to be found . If the specified element is found, the function will return the key name of the element in the array (that is, the array subscript corresponding to the element), otherwise it will return false.

For example:

$names = ['Alice', 'Bob', 'Charlie'];
echo array_search('Charlie', $names); // 输出 2
echo array_search('David', $names); // 输出 ''

In the above code, we define an array $names, and then use the array_search() function to find 'Charlie'## There are two values ​​# and 'David', and the results are 2 and '' respectively. Note that the search for 'David' returns the empty string instead of false.

Like the in_array() function, when using the array_search() function to determine whether a string is in an array, you also need to pay attention to the case issue.

Method 3: Use the array_key_exists() function to determine

If you want to determine whether a specified key name exists in the array, you can use the array_key_exists() function. The basic usage of this function is as follows:

array_key_exists($key, $array);

where

$key is the key name to be searched, and $array is the array to be searched. If the specified key is found, the function returns true, otherwise it returns false.

For example:

$ages = ['Alice' => 18, 'Bob' => 21, 'Charlie' => 24];
var_dump(array_key_exists('Alice', $ages)); // 输出 true
var_dump(array_key_exists('David', $ages)); // 输出 false

In the above code, we define an associative array

$ages, and then use the array_key_exists() function to find 'Alice' and 'David' are two key names, and the results return true and false respectively.

It should be noted that the array_key_exists() function can only be used to find key names in associative arrays, and cannot be used to find element values ​​in ordinary arrays.

Method 4: Use the isset() function to make a judgment

If there are multiple possible key names that can match, you can use the isset() function to make a judgment. The basic usage of this function is as follows:

isset($array[$key]);

where

$array is the array to be searched, and $key is the key name to be matched. If the key name can be matched, the isset() function returns true, otherwise it returns false.

For example:

$settings = ['debug' => true, 'auth' => false, 'port' => 80];
var_dump(isset($settings['debug'])); // 输出 true
var_dump(isset($settings['logging'])); // 输出 false

In the above code, we define an associative array

$settings, and then use the isset() function to find 'debug' and 'logging' are two key names, and the results return true and false respectively.

Summary:

In PHP, there are many ways to determine whether a string exists in an array, including using the in_array() function, array_search() function, array_key_exists() function and isset () function, etc. When using these functions to make judgments, you need to pay attention to case issues and array types (one-dimensional arrays and multi-dimensional arrays). Choosing the appropriate method according to actual needs can improve the operating efficiency and accuracy of the program.

The above is the detailed content of Is the php string in the 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