我的代码如下:
$flag = strpos($ques_id, SEARCH_QUESTION_ID_STR);
if($flag == 0) {
echo "In If"; die;
// Find length of the defined string
$str_length = strlen(SEARCH_QUESTION_ID_STR);
$ques_id_str = substr_replace($ques_id,"",0, $str_length);
} else {
echo "In Else"; die;
$ques_id_str = $ques_id;
echo $ques_id_str; die;
}
我的搜索字符串总是出现在第0位,但我想执行代码的一部分只在ssearch字符串存在时和不存在时我想执行else部分。但问题是,无论搜索字符串是否存在,我总是得到0。当搜索字符串不存在时,我没有得到如何执行else。
答案 0 :(得分:2)
您可以修改如下:
if ($flag === 0 ) // this will force $flag check as integer
或反转IF子句中的检查,如下所示:
if ($flag === false) // this will check for string not found
// code for string not found
} else {
// code for string found
}
答案 1 :(得分:2)
通过这个例子,它对我来说很好。可能你需要===
比较运算符..
$str = 'My string';
$srch = 's';
if (strpos($str,$srch) !== false) {
echo 'Matched';
}
else {
echo 'Not Matched';
}