As expected, grapheme_stripos() does return boolean FALSE if the needle is not found in the haystack.
Use strict type comparison to check for that condition, like:
if (FALSE === grapheme_stripos('a', 'b')) {print 'Needle not found';}
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
grapheme_stripos — Находит позицию (в единицах графемы) первого появления строки без учёта регистра
Процедурный стиль
$haystack
, string $needle
, int $offset
= 0): int|falseНаходит позицию (в единицах графемы) первого появления строки без учёта регистра.
haystack
Строка для поиска. Должна быть корректным UTF-8.
needle
Строка, которую нужно найти. Должна быть корректным UTF-8.
offset
Необязательный параметр offset
позволяет указать, где в haystack
начинать поиск в виде смещения в единицах графемы (не в байтах или символах).
Если смещение отрицательное, оно обрабатывается относительно конца строки.
Возвращённая позиция по-прежнему относительно начала haystack
, независимо от значения offset
.
Возвращает позицию как целое число. Если вхождение needle
не найдено,
функция grapheme_stripos() вернёт false
.
Версия | Описание |
---|---|
7.1.0 |
Добавлена поддержка отрицательных значений offset .
|
Пример #1 Пример использования grapheme_stripos()
<?php
$char_a_ring_nfd = "a\xCC\x8A"; // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"
print grapheme_stripos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);
?>
Результат выполнения данного примера:
2