当前位置:首页 > PHP教程 > php数组 > 列表

php中array_search和in_array有什么区别

发布:smiling 来源: PHP粉丝网  添加日期:2015-12-12 15:03:38 浏览: 评论:0 

在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示例:

  1. $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red'); 
  2. //phpfensi.com 
  3. $key = array_search('green'$array); // $key = 2; 
  4. $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,再如:

  1. public function add_rewrite_tag( $tag$regex$query ) { 
  2.  $position = array_search$tag$this->rewritecode ); 
  3.  if ( false !== $position && null !== $position ) { 
  4.   $this->rewritereplace[ $position ] = $regex
  5.   $this->queryreplace[ $position ] = $query
  6.  } else { 
  7.   $this->rewritecode[] = $tag
  8.   $this->rewritereplace[] = $regex
  9.   $this->queryreplace[] = $query
  10.  } 

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

Tags: array_search in_array

分享到: