Я просто пытаюсь понять это ...
$mystring = "/abc/def/hij";
$find = "/abc";
echo(strpos($mystring, $find) . "<br>");
if (strpos($mystring, $find) >= 0) {
echo("found");
} else {
echo("not found");
}
это даст:
0
найдены
$mystring = "/abc/def/hij";
$find = "/fffff";
echo(strpos($mystring, $find) . "<br>");
if (strpos($mystring, $find) >= 0) {
echo("found");
} else {
echo("not found");
}
выход:
[Пусто]
найдено
Теперь, если я изменю компаратор и использую "! = False" вместо "> = 0"
$mystring = "/abc/def/hij";
$find = "/fffff";
echo(strpos($mystring, $find) . "<br>");
if (strpos($mystring, $find) **!= false**) {
echo("found");
} else {
echo("not found");
}
Это работает почти во всех случаях, кроме случаев, когда я ищу подстроку в начале строки. Например, это выведет «not found»:
$mystring = "/abc/def/hij";
$find = "/abc";
echo(strpos($mystring, $find) . "<br>");
if (strpos($mystring, $find) != false) {
echo("found");
} else {
echo("not found");
}
Так, как я могу заставить это работать? Я просто хочу знать, существует ли подстрока в строке, и она должна дать мне "true", если подстрока является началом или всей строкой ...