日期:2014-05-17  浏览次数:20480 次

array_search()函数,第3个参数,有什么作用?
http://docs.php.net/manual/zh/function.array-search.php


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


 strict
    如果可选的第三个参数 strict 为 TRUE,则 array_search() 将在 haystack 中检查完全相同的元素。 这意味着同样检查 haystack 里 needle 的 类型,并且对象需是同一个实例。


问题:
这个函数,第3个参数:$strict = false,有什么作用?
给个实例。

------解决方案--------------------
$ar = array(1, 2, 3);
var_dump(array_search('2', $ar, true)); //bool(false)
var_dump(array_search(2, $ar)); //int(1)


------解决方案--------------------
$a = array("a"=>"5","b"=>5);
echo array_search(5,$a);不用判断值的类型 所以字符串"5" 匹配成功
echo '<br>';
echo array_search(5,$a,true);需要判断值的类型 所以字符串"5" 匹配不成功 数字5匹配成功