先來看strpos的用法:
創(chuàng)新互聯(lián)-云計算及IDC服務(wù)提供商,涵蓋公有云、IDC機房租用、西部信息機房、等保安全、私有云建設(shè)等企業(yè)級互聯(lián)網(wǎng)基礎(chǔ)服務(wù),聯(lián)系電話:18980820575(PHP 4, PHP 5, PHP 7)
strpos — 查找字符串首次出現(xiàn)的位置
mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
返回 needle 存在于 haystack
字符串起始的位置(獨立于 offset)。同時注意字符串位置是從0開始,而不是從1開始的。
如果沒找到 needle,將返回 FALSE
。(請注意這種情況下的返回值)
2. 實例說明(產(chǎn)生問題的錯誤代碼)
新手容易犯的就是對于if的真值判斷,由于該函數(shù)在沒有找到對應(yīng)字符的情況下,返回值為false,所以就會出現(xiàn)這種判斷來處理找到和沒找到的情況。由這個例子的結(jié)果可以看出,字符‘t’其實是存在的,而且也被找到了,并且返回了該字符的位置值,即0,因為0為假值,程序就會執(zhí)行else中代碼,導致程序運行結(jié)果與預(yù)期結(jié)果不一致,從而產(chǎn)生了所謂的邏輯錯誤。
3. 正確代碼(解決方法)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。