如预期的那样,如果在 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 — 查找不区分大小写的字符串首次出现的位置(以音素单位计)
过程式风格
查找不区分大小写的字符串首次出现的位置(以音素单位计)
haystack
要搜索的字符串。必须是有效的 UTF-8。
needle
要查找的字符串。必须是有效的 UTF-8。
offset
可选的 offset
参数允许您指定在 haystack
中从何处开始搜索,作为音素单位(而不是字节或字符)的偏移量。如果偏移量为负,则将其视为相对于字符串末尾的偏移量。无论 offset
的值如何,返回的位置仍然相对于 haystack
的开头。
返回位置作为整数。如果未找到 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