正如预期,如果在 haystack 中找不到 needle,grapheme_stripos() 会返回布尔值 FALSE。
使用严格类型比较检查该条件,例如
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 — 查找不区分大小写的字符串首次出现的 grapheme 单位位置
过程式风格
查找不区分大小写的字符串首次出现的 grapheme 单位位置
haystack
要搜索的字符串。必须是有效的 UTF-8。
needle
要搜索的字符串。必须是有效的 UTF-8。
offset
可选的 offset
参数允许您指定在 haystack
中开始搜索的位置,作为 grapheme 单位的偏移量(而不是字节或字符)。如果偏移量为负数,则相对于字符串末尾处理。返回的位置仍然相对于 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) 规范化形式 "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) 规范化形式 "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) 规范化形式 "D"
print grapheme_stripos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);
?>
上面的示例将输出
2