У меня есть строка $x = 'hello world.'
, Я хочу увидеть, содержит ли $ x строку $y = 'hello'
,
Если я сделаю
stripos($x, $y);
он возвращает числовой 0, индекс, где начинается строка $ y. Однако это оценивается как ЛОЖЬ. Как я могу оценить это, чтобы оно вернулось?
Прочитайте предупреждение от руководство:
Предупреждение: Эта функция может возвращать логическое значение FALSE, но также может возвращать
небулево значение, которое оценивается как ЛОЖЬ. Пожалуйста, прочитайте раздел
Booleans для получения дополнительной информации. Использовать===
оператор для тестирования
возвращаемое значение этой функции.
Так что вы должны использовать так:
if(stripos($x, $y) !== FALSE)
// Found
else
// Not found
Для справки см. этот пример из руководства.
если вы используете это, он вернет истину
!(stripos($x, $y));$x = 'hello world.';
$y = 'hello';
echo !(stripos($x, $y));