[php中arraylist]php中array_search和in_array有什么区别

更新时间:2019-09-26    来源:技巧与性能优化    手机版     字体:

【www.bbyears.com--技巧与性能优化】

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

in_array用法

参数 描述 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返回位置,可以直接存放到需要标记位置的数组中。

    本文来源:http://www.bbyears.com/aspjiaocheng/69566.html

热门标签

更多>>

本类排行