1、strpos()函数的返回值false与0问题
strpos函数定义:
int strpos ( string needle [, int $offset = 0 ] )
返回 needle 在 haystack 中首次出现的数字位置,以整型返回位置信息。如果没找到 needle, strpos() 将返回布尔型的 FALSE 值。
问题
如果haystack头部,则返回值为0。在不严格的判断中,0 = false,这样就无法区分是否找到。解决方法:
使用符号“===”而不是“==”进行判断。
判断符号 “==”会转换类型再进行比较,而更严格的符号“===”会先判断类型是否相同,然后才进行比较
2、array_diff
array_diff(array2); 不管这两个数组是否相同都有可能返回的是空数组,因为它只返回 $array1 的差集