文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

php 数组 是否包含

2023-05-23 12:58

关注

在 PHP 语言中,数组是一种非常重要的数据类型,经常被用到。在使用数组时,经常会遇到一个问题,那就是如何判断一个数组是否包含某个元素。本文将介绍如何使用 PHP 数组来判断一个数组是否含有某个指定的元素。

一、使用 in_array() 函数

在 PHP 中,提供了一个内置函数 in_array(),用于判断一个值是否在数组中存在。in_array() 函数接受两个参数,第一个是待查找的值,第二个是待查找的数组。

例如,要判断数组 $arr 是否包含值为 42 的元素,可以使用如下代码:

$arr = array(1, 2, 3, 4, 42, 5);
if (in_array(42, $arr)) {
    echo "数组中包含值为 42 的元素
";
} else {
    echo "数组中不包含值为 42 的元素
";
}

输出结果为:

数组中包含值为 42 的元素

注意,in_array() 函数只能判断整数和字符串类型的值是否在数组中存在,对于其他类型的值,比如数组、对象、资源等,无法使用 in_array() 函数来判断。

二、使用 array_search() 函数

如果我们需要判断某个元素在数组中的位置,可以使用 array_search() 函数。array_search() 函数接受两个参数,第一个是待查找的值,第二个是待查找的数组。如果找到了该元素,则函数返回该元素在数组中的下标,否则返回 false。

例如,要判断数组 $arr 是否包含值为 42 的元素,并获取该元素在数组中的位置,可以使用如下代码:

$arr = array(1, 2, 3, 4, 42, 5);
$index = array_search(42, $arr);
if ($index !== false) {
    echo "数组中包含值为 42 的元素,位置为 $index
";
} else {
    echo "数组中不包含值为 42 的元素
";
}

输出结果为:

数组中包含值为 42 的元素,位置为 4

需要注意的是,array_search() 函数返回的位置下标是从 0 开始的,而不是从 1 开始的,即如果一个元素在数组中的位置是 3,那么 array_search() 函数返回的值应该是 2,因为数组下标从 0 开始。

三、使用 key_exists() 函数

除了上述两种方法,我们还可以使用 key_exists() 函数来判断一个数组是否包含某个指定的键。key_exists() 函数接受两个参数,第一个是待查找的键,第二个是待查找的数组。

例如,要判断数组 $arr 是否包含键为 'foo' 的元素,可以使用如下代码:

$arr = array('foo' => 'bar', 'baz' => 'qux');
if (key_exists('foo', $arr)) {
    echo "数组中包含键为 'foo' 的元素
";
} else {
    echo "数组中不包含键为 'foo' 的元素
";
}

输出结果为:

数组中包含键为 'foo' 的元素

需要注意的是,key_exists() 函数只能用于判断数组中是否包含某个键,而不能判断值。

四、使用 isset() 函数

在 PHP 中,还可以使用 isset() 函数来判断一个数组是否包含某个指定的键。isset() 函数接受一个参数,即待判断的键名。如果该键存在,函数返回 true,否则返回 false。

例如,要判断数组 $arr 是否包含键为 'foo' 的元素,可以使用如下代码:

$arr = array('foo' => 'bar', 'baz' => 'qux');
if (isset($arr['foo'])) {
    echo "数组中包含键为 'foo' 的元素
";
} else {
    echo "数组中不包含键为 'foo' 的元素
";
}

输出结果为:

数组中包含键为 'foo' 的元素

需要注意的是,isset() 函数用于判断变量是否已设置,如果变量不存在或者值为 null,则函数返回 false。

综上所述,我们可以使用 in_array() 函数、array_search() 函数、key_exists() 函数和 isset() 函数来判断一个数组是否包含某个指定的元素。不同的方法适用于不同的场合,开发者可以根据具体情况选择使用。

以上就是php 数组 是否包含的详细内容,更多请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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