在 PHP 中检查数组是否包含某值

Sheeraz Gul 2023年1月30日 2022年5月13日
  1. 在 PHP 中使用 in_array() 来检查数组是否包含某值
  2. 使用 foreach 循环检查字符串是否包含 PHP 中数组中的值
  3. 使用 strpos()json_encode() 检查字符串是否包含 PHP 数组中的值
在 PHP 中检查数组是否包含某值

PHP 有几种方法可以检查数组是否包含特定值。最方便的方法是使用内置函数 in_array()

in_array() 检查数组是否包含给定值。in_array() 的返回类型是布尔值。

in_array() 不会在数组中查找子字符串;该值应与数组中的值匹配。还有其他方法可以检查数组是否包含子字符串。

本教程探讨了检查数组是否包含我们正在寻找的值的不同方法。

在 PHP 中使用 in_array() 来检查数组是否包含某值

PHP in_array() 接受两个强制参数和一个可选参数,必需参数是值 $value 和数组 $array,如果布尔值设置为 true,则可选参数是布尔值 $mode in_array() 将寻找相同类型的数据。

例子:

<?php
$values = array("demo1", "demo2",10);

if (in_array("10", $values)){
    echo "Array contains the value<br>";
}
else{
    echo "Array doesn't contains the value<br>";
}
if (in_array("10",$values, TRUE)){
    echo "Array contains the value<br>";
}
else{
    echo "Array doesn't contains the value<br>";
}
if (in_array(10,$values)){
    echo "Array contains the value<br>";
}
else{
    echo "Array doesn't contains the value<br>";
}
?>

上面的代码检查给定数组中是否存在值 10。第三个默认参数为 false,如果我们设置为 true,它也会寻找相同类型的值。

输出:

Array contains the value
Array doesn't contains the value
Array contains the value

PHP in_array() 与所有 PHP4 及以上版本兼容。

使用 foreach 循环检查字符串是否包含 PHP 中数组中的值

foreach 循环和 strpos() 函数可以一起使用来检查字符串是否包含数组中的值。

例子:

<?php
$values_array = array('John', 'Michelle', 'Shawn');
$demo_str = 'my name is Shawn';

foreach ($values_array as $val) {

    if (strpos($demo_str, $val) !== FALSE) {
        echo "The string contains a value from the array";
        return true;
    }
}
echo "The string doesn't contain a value from the array";
return false;
?>

strpos() 检查字符串是否包含子字符串,此代码将检查字符串是否包含给定数组中的值。

输出:

 The string contains a value from the array

PHP strpos() 与所有 PHP4 及以上版本兼容。

使用 strpos()json_encode() 检查字符串是否包含 PHP 数组中的值

json_encode() 是一个内置的 PHP 函数,用于将数组转换为 JSON 对象,简单来说就是转换成字符串。

例子:

$values_array = ["John is 25 years old", "Shawn", "Michelle"];

if (strpos(json_encode($values_array),"John") !== false) {
    echo "Array contains the Name";
}
else{
    echo "Array doesn't contains the Name";
}

上面的代码将数组转换为字符串并检查它是否包含子字符串。

输出:

 Array contains the Name

PHP jason_encode() 兼容所有 PHP5 及以上版本。

Author: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

相关文章 - PHP Array