Home >Backend Development >PHP Problem >PHP determines whether a string is contained in an array

PHP determines whether a string is contained in an array

王林
王林Original
2023-05-19 18:00:381077browse

In PHP development, sometimes we need to determine whether a string contains an element in an array. This is very helpful for data processing and manipulation, as it effectively and quickly determines whether the data meets the criteria. This article will introduce how to use PHP to determine whether a string contains elements in an array.

1. Use the in_array() function

PHP provides the in_array() function to determine whether a value is in an array. So we can use the in_array() function to determine whether a string is in an array. The syntax is as follows:

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

Among them, $needle is the value to be found; $haystack is the index array ; $strict specifies whether to use strict mode during the search process (that is, not only the values ​​must be equal, but the types must also be equal). The return value is TRUE indicating that the search was found, otherwise false is returned.

Then we only need to judge whether the target string is included in the array through a loop. The code example is as follows:

$arr = array('apple', 'orange', 'banana', 'pear');

$str = 'I like apples';

foreach ($arr as $val) {
  if (strpos($str, $val) !== false) {
    echo "包含$val";
  } else {
    echo "不包含$val";
  }
}

This code first defines an array $arr and a string $str. Then, through a loop, it is determined whether each element in the array appears in the string. If it is included, output the corresponding information, otherwise output the information not included.

2. Use the preg_match() function

If you want to implement more complex string matching operations, you need to use regular expressions. In PHP, we can use the preg_match() function to match whether a string matches a certain rule. The syntax of this function is as follows:

int preg_match(string $pattern, string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]])

Among them, $pattern represents the regular expression used for matching; $subject represents the string that needs to be matched; $matches is an optional parameter used to store matching results; $flags represents matching options, such as whether to be case-sensitive, etc. ;$offset represents the offset at which the match starts.

The following is a sample code:

$arr = array('/apple/', '/orange/', '/banana/', '/pear/');

$str = 'I like apples';

foreach ($arr as $val) {
  if (preg_match($val, $str)) {
    echo "包含$val";
  } else {
    echo "不包含$val";
  }
}

This code has a similar function to the previous code, except that it uses regular expressions in the matching operation. It should be noted that a slash (/) is required in the regular expression to indicate the beginning and end.

Summary:

This article introduces two methods to determine whether a string contains elements in an array. The in_array() function is suitable for simple string matching, while the preg_match() function can implement more complex multi-pattern matching. In the actual development process, you can choose the corresponding method to implement string matching operations according to specific needs.

The above is the detailed content of PHP determines whether a string is contained in an 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