Home  >  Article  >  Backend Development  >  How to determine whether an array contains a certain value in php

How to determine whether an array contains a certain value in php

PHPz
PHPzOriginal
2023-04-19 09:17:05861browse

In PHP development, array is a very commonly used data structure. In the process of using arrays, it often involves judging whether the array contains a certain value. This article will briefly introduce how to quickly determine whether an array contains a certain value in PHP, and provide some sample code for reference.

1. Use the in_array() function to determine whether an array contains a certain value. In PHP, you can use the in_array() function to quickly determine whether an array contains a certain value. This function receives two parameters, the first parameter is the value to be found, and the second parameter is the array to be queried. If the value is queried, true is returned, otherwise false is returned.

Sample code:

$arr = array('php', 'java', 'python', 'ruby');
if (in_array('php', $arr)) {
  echo '该数组中包含php';
} else {
  echo '该数组中不包含php';
}

Output:

该数组中包含php

2. Use array_search() function to judge

Another commonly used function is array_search(), which The function is similar to in_array() and can quickly determine whether an array contains a certain value. The difference is that the array_search() function returns the matching key name instead of returning true or false.

Sample code:

$arr = array('php', 'java', 'python', 'ruby');
$key = array_search('php', $arr);
if ($key !== false) {
  echo '该数组中包含php,其键名为:' . $key;
} else {
  echo '该数组中不包含php';
}

Output:

该数组中包含php,其键名为:0

It should be noted that since array_search() returns the matched key name, you need to determine whether the return value is false instead of using if(array_search('php', $arr)) directly.

3. Use in_array() and array_search() functions for fuzzy matching

Sometimes fuzzy matching is needed to determine whether an array contains a certain value. For example, you need to determine whether the array contains the string "php". You can use regular expressions in combination with the in_array() and array_search() functions to perform fuzzy matching.

Sample code:

$arr = array('welcome to php world', 'java is the best language', 'I love python', 'ruby on rails');
$pattern = '/.*php.*/i'; // 匹配包含php字样的字符串
foreach ($arr as $value) {
  if (preg_match($pattern, $value)) {
    if (in_array($value, $arr)) {
      echo $value . ' 存在于数组中';
    } else {
      $key = array_search($value, $arr);
      echo $value . ' 的键名为:' . $key . ',但其实际不在数组中';
    }
  }
}

Output:

welcome to php world 存在于数组中

Summary

In PHP, you can use in_array() and array_search to determine whether an array contains a certain value. () function to complete. The difference between the two functions is the type of return value. It should be noted that during fuzzy matching, regular expressions must be used in combination with the in_array() and array_search() functions for judgment.

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