文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-02-27 20:12

关注

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 及以上版本。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯