加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP array_search():在数组中搜索给定的值并返回键名或索引

发布时间:2020-12-13 17:59:25 所属栏目:PHP教程 来源:网络整理
导读:通过前面的学习我们知道,在数组中搜索一个指定的键值是否存在,可以使用《in_array() 函数》,在 PHP 中还有另外一个函数与 in_array() 函数功能相似但返回值有点不同的函数——array_search() 函数。 array_search() 函数可以在数组中搜索给定的值,如果成
通过前面的学习我们知道,在数组中搜索一个指定的键值是否存在,可以使用《in_array() 函数》,在 PHP 中还有另外一个函数与 in_array() 函数功能相似但返回值有点不同的函数——array_search() 函数。

array_search() 函数可以在数组中搜索给定的值,如果成功则返回首个相应的键名,该函数的语法格式如下:

array_search($needle,$haystack[,$strict = false])

参数说明如下:
  • $needle:为要搜索的值,如果 $needle 为字符串类型,则在搜索时区分大小写;
  • $haystack:为一个数组;
  • $strict:可选参数,可以为空,默认为 False。
    • 如果 $strict 为 False,则 array_search() 在 $haystack 中搜索 $needle 时仅会比较值,不比较类型。
    • 如果 $strict 为 True,则 array_search() 在 $haystack 中搜索 $needle 时会同时比较值和类型。

array_search() 函数如果找到了 $needle 则返回它的键,否则返回 False。

如果 $needle 在 $haystack 中出现不止一次,则仅会返回第一个匹配的键。若要返回所有匹配值的键,应该用 array_keys() 函数来代替。

【示例】使用 array_search() 函数搜索数组中的键名。
<?php
    $array = array(
        'name'  => 'C语言中文网','url'   => 'http://c.biancheng.net/php/','title' => 'PHP教程','pid'   => 1111,'level' => 1111,'info'  =>  array(
            'id'      => 1234,'article' => 'array_search() 函数'
        )
    );

    echo '<pre>';
    var_dump(array_search('1234',$array));
    var_dump(array_search('PHP教程',$array));
    var_dump(array_search('1111',$array,true));
    var_dump(array_search(1111,true));
?>
运行结果如下:

bool(false)
string(5) "title"
bool(false)
string(3) "pid"

通过运行结果可以看出,array_search() 函数同样仅适用于一维数组,对于多维数组中第一维度以外的维度则不适用。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读