五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > strpos查找字符串返回值問(wèn)題

strpos查找字符串返回值問(wèn)題

文章來(lái)源:365jz.com     點(diǎn)擊數(shù):1559    更新時(shí)間:2010-01-18 22:23   參與評(píng)論
一直以來(lái)都用
程序代碼 程序代碼
if(strpos($str,  'ok')) { ...  }
來(lái)判斷字符串$str內(nèi)是否含有'ok'在內(nèi),但最近發(fā)現(xiàn)用這個(gè)方式判斷一個(gè)帶'ok'的字符串卻沒(méi)有查找成功,郁悶的是,這個(gè)字符串就是以'ok'開(kāi)頭,怎么可能查找不到呢?
  找到strpos函數(shù)的定義介紹,srtpos返回查找字符串第一個(gè)出現(xiàn)的位子,這個(gè)位置是從0開(kāi)始算的,比如在'It's ok!'中,'ok'的位置是5。如果找不到,則返回false。發(fā)現(xiàn)問(wèn)題了:PHP的變量類型都是弱類型的可以隨便轉(zhuǎn)換變量類型,0可以看作是整數(shù)類型,也可以看作是布爾類型的false,加入strpos判斷到字符串查找位置出現(xiàn)在0這個(gè)位置,函數(shù)返回0,if語(yǔ)句是把它當(dāng)0看還是當(dāng)false看?看來(lái)這正是問(wèn)題所在。
  找到問(wèn)題,解決方法也就有了,給被查找字符串前面補(bǔ)一位不包含在關(guān)鍵字內(nèi)的字符就可以了,這樣只要匹配到,返回結(jié)果總會(huì)>=1。
程序代碼 程序代碼
if(strpos('v' . $str,  'ok')) { ...  }
要是需要拿到查找到的位置,則在if判斷完畢后,-1后使用即可。

  補(bǔ)充:
  經(jīng)漫游神同學(xué)指點(diǎn),可以用===,!==方式來(lái)實(shí)現(xiàn)準(zhǔn)確判斷,不需要用hank了,謝謝!
程序代碼 程序代碼
if(strpos($str,  'ok') !== false) { ...  }

如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答?。?點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (1559人查看,0條評(píng)論)
請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)