文法:
string strstr ( string haystack, string needle)
返回haystack中從needle開始到結束的字串.
如果沒有傳回值,即沒有發現needle,則返回FALSE
注: 這個函數是大小寫敏感的。
執行個體1
代碼如下 |
複製代碼 |
$city_str=fopen(cgi_path."/data/weather/city.dat","r"); $city_ch=fread($city_str,filesize(cgi_path."/data/weather/city.dat")); $city_ch_arr=explode("|",$city_ch); //如果能匹配到所在市 if(strstr($area_ga,"市")){ foreach($city_ch_arr as $city_ch_arr_item){ if(@strstr($area_ga,$city_ch_arr_item)){ echo $area_ga.'<br>'; echo $city_ch_arr_item; $s_city=$city_ch_arr_item; } } }//如果找不到市 那麼看看是不是能找到省 有時會有這樣的情況:廣東省長城寬頻 這樣的一律歸屬到該省省府 elseif(strstr($area_ga,"河北")!==false){ $s_city="石家莊"; } |
city.dat中是一些城市 格式是這樣的
廣州|深圳|汕頭|惠州
更多詳細內容請查看:http://www.111cn.net/phper/18/8304359e6918876b45d02c200bc8f193.htm
stristr() 函數尋找字串在另一個字串中第一次出現的位置。
如果成功,則返回字串的其餘部分(從匹配點)。如果沒有找到該字串,則返回 false。
代碼如下 |
複製代碼 |
<?php echo stristr("Hello world!","WORLD"); ?> 輸出: world! |
strpos介紹
相對於前兩者尋找成功後返回的是字元,strpos尋找成功後則是返回的是位置。因為位置有可能是0,所以判斷尋找失敗使用===false更合適。
strpos的效能比較好,如果只是判斷needle是否在字串haystack中,則使用strpos較好,它將佔用更少的記憶體和獲得更快的執行速度。但是strpos對特殊字元支援不好,比如對中文就不能很好支援
例子
代碼如下 |
複製代碼 |
<?php echo strpos("Hello world!","wo"); ?> 輸出: 6 |
注釋:該函數對大小寫敏感。如需進行對大小寫不敏感的搜尋,請使用 stripos() 函數。
結合上面執行個體我們得出結論
strstr 區別大小寫,從字元開始找如果有返回true否則就返回false
stristr 字元不區別大小寫,從字元開始找如果有返回true否則就返回false
strpos 區別大小寫strpos尋找成功後則是返回的是位置。因為位置有可能是0,所以判斷尋找失敗使用===false更合適。