strpos не работает для определенной строки
Я пытаюсь использовать strpos, чтобы найти строку внутри другой строки, но по какой-то причине она не работает для определенной строки, даже если она работает для другой. Что я делаю неправильно?
<?php
if (strpos("show me how to dance", "show me")) {
echo "true1";
}
if (strpos("my name is name", "name")) {
echo "true2";
}
?>
Результат:
true2
Ожидаемый результат:
true1true2
1 ответ
Решение
strpos
возвращает индекс вхождения в строке (или false, если он не найден). Когда этот индекс равен 0, условие: (strpos("show me how to dance", "show me"))
оценивается как ложное (потому что в PHP: 0 == false
правда). Чтобы быть уверенным, что игла найдена (даже с индексом 0), вам нужно использовать строгое сравнение:
if (strpos("show me how to dance", "show me") !== false)