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 的差集