先來看strpos的用法:
創(chuàng)新互聯建站主要從事做網站、網站設計、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務上栗,十余年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108
(PHP 4, PHP 5, PHP 7)
strpos — 查找字符串首次出現的位置
mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
返回 needle 存在于 haystack
字符串起始的位置(獨立于 offset)。同時注意字符串位置是從0開始,而不是從1開始的。
如果沒找到 needle,將返回 FALSE
。(請注意這種情況下的返回值)
2. 實例說明(產生問題的錯誤代碼)
新手容易犯的就是對于if的真值判斷,由于該函數在沒有找到對應字符的情況下,返回值為false,所以就會出現這種判斷來處理找到和沒找到的情況。由這個例子的結果可以看出,字符‘t’其實是存在的,而且也被找到了,并且返回了該字符的位置值,即0,因為0為假值,程序就會執(zhí)行else中代碼,導致程序運行結果與預期結果不一致,從而產生了所謂的邏輯錯誤。
3. 正確代碼(解決方法)