Как решить проблему в следующем сценарии?
Мой код выглядит следующим образом:
$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 независимо от того, присутствует строка поиска или отсутствует. Я не понимаю, как выполнить еще, когда строка поиска отсутствует.
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
}
С этим примером он прекрасно работает для меня. Возможно, вам нужно ===
оператор сравнения..
$str = 'My string';
$srch = 's';
if (strpos($str,$srch) !== false) {
echo 'Matched';
}
else {
echo 'Not Matched';
}