需求如下:$str='身份证,422199209087877';
现在要判断这个字符串中存在子字符串 '身份证',开始时使用strpos($string,$search_string)如下判断
if(strpos($str,'身份证')==false){
echo '没有找到该字符串';
}else{
echo '找到该字符串';
}
测试发现结果打印出来是:'没有找到该字符串' 说明没有找到
然后我var_dump(strpos($str,'身份证')) 得到的结果是 int(0)
因为strpos()方法得到的是发现子字符串的开始位置,所以 找到了 0 这个位置,而0就等于false
所以这个方法当碰到查询的字符串在首位时会失效,解决办法是:
if(strpos($str,'身份证')===false){
echo '没有找到该字符串';
}else{
echo '找到该字符串';
}
当使用全等于时,0就不等于false了,所以就解决这个细节问题。