grapheme_stripos

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_stripos查找不区分大小写的字符串首次出现的 grapheme 单位位置

描述

过程式风格

grapheme_stripos(string $haystack, string $needle, int $offset = 0): int|false

查找不区分大小写的字符串首次出现的 grapheme 单位位置

参数

haystack

要搜索的字符串。必须是有效的 UTF-8。

needle

要搜索的字符串。必须是有效的 UTF-8。

offset

可选的 offset 参数允许您指定在 haystack 中开始搜索的位置,作为 grapheme 单位的偏移量(而不是字节或字符)。如果偏移量为负数,则相对于字符串末尾处理。返回的位置仍然相对于 haystack 的开头,无论 offset 的值如何。

返回值

返回位置作为整数。如果未找到 needlegrapheme_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

参见

添加注释

用户贡献的注释 1 条注释

0
匿名
6 年前
正如预期,如果在 haystack 中找不到 needle,grapheme_stripos() 会返回布尔值 FALSE。
使用严格类型比较检查该条件,例如

if (FALSE === grapheme_stripos('a', 'b')) {print 'Needle not found';}
To Top