php中array_search和in_array有什么区别
来源: 阅读:629 次 日期:2015-08-18 15:13:12
温馨提示: 小编为您整理了“php中array_search和in_array有什么区别”,方便广大网友查阅!

array_search和in_array都可以用来查找值是否存在与数组中,顾名思义,一个是搜寻数组,一个是判断是否在数组,array_search和in_array有什么区别呢?以及性能上有什么差异?

in_array用法

pse: collapse; background-color: rgb(249, 249, 249); -webkit-text-stroke-width: 0px;">

参数 描述
value 必需。规定要在数组搜索的值。
array 必需。规定要搜索的数组。
type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。

array_search示例:

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;

$key = array_search('red', $array); // $key = 1;

第一个参数是要查找的值,第二个参数是数组,它返回的是查找到的值的“键”。而in_array只能判断是否存在,返回布尔值。在效率上in_array与array_search效率几乎相同,in_array仅返回真伪,array_search同时返回

array_search语法

参数 描述
value 必需。规定在数组中搜索的值。
array 必需。被搜索的数组。
strict 可选。可能的值:
  • true
  • false - 默认如果值设置为 true,还将在数组中检查给定值的类型。(参见例子 2)
  • 再如:

    public function add_rewrite_tag( $tag, $regex, $query ) {

    $position = array_search( $tag, $this->rewritecode );

    if ( false !== $position && null !== $position ) {

    $this->rewritereplace[ $position ] = $regex;

    $this->queryreplace[ $position ] = $query;

    } else {

    $this->rewritecode[] = $tag;

    $this->rewritereplace[] = $regex;

    $this->queryreplace[] = $query;

    }

    }

    利用array_search返回位置,可以直接存放到需要标记位置的数组中。

    更多信息请查看IT技术专栏

    更多信息请查看网络编程
    由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

    2025国考·省考课程试听报名

    • 报班类型
    • 姓名
    • 手机号
    • 验证码
    关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
    工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
    云南网警备案专用图标
    联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
    咨询QQ:526150442(9:00—18:00)版权所有:
    云南网警报警专用图标
    Baidu
    map