[php]踩坑實錄

1、strpos()函數的返回值false與0問題

strpos函數定義:
int strpos ( string haystack , mixedneedle [, int $offset = 0 ] )
返回 needle 在 haystack 中首次出現的數字位置,以整型返回位置信息。如果沒找到 needle, strpos() 將返回布爾型的 FALSE 值。

  • 問題
    如果needle出現在haystack頭部,則返回值爲0。在不嚴格的判斷中,0 = false,這樣就無法區分是否找到。

  • 解決方法:
    使用符號“===”而不是“==”進行判斷。
    判斷符號 “==”會轉換類型再進行比較,而更嚴格的符號“===”會先判斷類型是否相同,然後才進行比較

2、array_diff
array_diff(array1,array2); 不管這兩個數組是否相同都有可能返回的是空數組,因爲它只返回 $array1 的差集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章