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
Строка для поиска. Должна быть корректным 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