首页  >  文章  >  后端开发  >  php怎么判断是否包含在数组中

php怎么判断是否包含在数组中

PHPz
PHPz原创
2023-04-23 19:29:53383浏览

在 PHP 中,判断一个元素(数值或字符串)是否在数组中是一个常见的操作。这个过程是通过使用 in_array() 函数实现的,该函数使用非常简单和有效。

in_array() 函数有两个必填参数和一个可选参数。第一个参数是目标元素,第二个参数是包含目标元素的数组,第三个参数是一个布尔值,用于检查是否需要使用严格类型比较。

下面是一个使用 in_array() 函数进行简单检测的例子,它将检查 'apple' 是否在下面的数组中:

$fruits = array('banana', 'orange', 'apple');

if (in_array('apple', $fruits)) {
    echo "'apple' 被找到了!";
} else {
    echo "'apple' 没有被找到 :(";
}

当运行这个代码时,最终输出将是 "'apple' 被找到了!"。

在这个例子中,in_array() 函数检查数组 $fruits 是否包含元素 'apple'。由于 'apple' 存在于数组 $fruits 中,因此条件分支将输出 "'apple' 被找到了!"。很简单吧!

默认情况下,in_array() 函数对字符串执行不区分大小写的比较。因此,如果我们按以下方式定义数组:

$fruits = array('banana', 'orange', 'APPLE');

代码仍然会输出 "'apple' 被找到了!"。原因是如果第二个参数(即数组)包含字符串元素(不区分大小写),则 in_array() 将仍然匹配元素。

如果您希望使用大小写敏感的比较,则必须在函数的第三个参数中传递布尔值 TRUE,如下所示:

$fruits = array('banana', 'orange', 'APPLE');

if (in_array('apple', $fruits, TRUE)) {
    echo "'apple' 被找到了!";
} else {
    echo "'apple' 没有被找到 :(";
}

输出将是 "'apple' 没有被找到 :(",因为我们现在执行大小写敏感的比较。'APPLE' 不等于 'apple'。

另外,还可以使用 array_search() 函数执行更多高级搜索。 array_search() 函数返回数组中与目标元素匹配的第一个键。如果未找到,则返回 FALSE。

下面是一个使用 array_search() 函数检查 'apple' 是否在数组中的例子:

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

if ($key !== false) {
    echo "'apple' 被找到了! 键是 $key";
} else {
    echo "'apple' 没有被找到 :(";
}

输出将是 "'apple' 被找到了! 键是 2"。原因是:

  • 在 $fruits 数组中找到了字符串 'apple'。
  • array_search() 函数返回与 'apple' 匹配的键,即 2。

在实际编程中,您可能需要搜索复杂的多维数组或执行高级过滤器,使您的判断逻辑更强大。但是,在 PHP 中使用 in_array() 和 array_search() 函数始终是一个好的起点。

以上是php怎么判断是否包含在数组中的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn