Pytanie o strpos w PHP
Próbuję to tylko zrozumieć ...
<code>$mystring = "/abc/def/hij"; $find = "/abc"; echo(strpos($mystring, $find) . "<br>"); if (strpos($mystring, $find) >= 0) { echo("found"); } else { echo("not found"); } </code>
to da: 0 znalezione
<code>$mystring = "/abc/def/hij"; $find = "/fffff"; echo(strpos($mystring, $find) . "<br>"); if (strpos($mystring, $find) >= 0) { echo("found"); } else { echo("not found"); } </code>
wyjście: znaleziono [puste]
Teraz, jeśli zmienię komparator i użyję „! = False” zamiast „> = 0”
<code>$mystring = "/abc/def/hij"; $find = "/fffff"; echo(strpos($mystring, $find) . "<br>"); if (strpos($mystring, $find) **!= false**) { echo("found"); } else { echo("not found"); } </code>
Działa to prawie we wszystkich przypadkach, z wyjątkiem sytuacji, gdy szukam podciągu na początku łańcucha. Na przykład wyświetli „nie znaleziono”:
<code>$mystring = "/abc/def/hij"; $find = "/abc"; echo(strpos($mystring, $find) . "<br>"); if (strpos($mystring, $find) != false) { echo("found"); } else { echo("not found"); } </code>
Jak mogę to zrobić? Chcę tylko wiedzieć, czy podłańcuch istnieje w ciągu i powinien dać mi „prawda”, jeśli podciąg jest początkiem lub całym łańcuchem ...