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){……}
问题解决
页:
[1]