Php的false与0

今天做一个php 数组的搜索value值判断,平常用c的时候没有注意到。

php数组中有一个array_search(value,array,strict) 函数,

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

但是

if(array_search(value,array,strict)==false){……}

无论array中是否存在value,都会执行“……”的代码

调试中发现原来,如果value在数组为第一位时,因为返回的是键名。那么会返回0,所以导致代码运行

改为:

if(array_search(value,array,strict)===false){……}

或者

if(array_search(value,array,strict)!==false){……}

问题解决

你可能感兴趣的:(PHP,数组,false)