PHP Conference Japan 2024

grapheme_strlen

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

grapheme_strlen取得以字素為單位的字串長度

說明

程序式風格

grapheme_strlen(字串 $string): 整數|false|null

取得以字素為單位的字串長度(非位元組或字元)

參數

字串

要測量長度的字串。它必須是有效的 UTF-8 字串。

傳回值

成功時返回字串的長度,失敗時返回 false

範例

範例 #1 grapheme_strlen() 範例

<?php

$char_a_ring_nfd
= "a\xCC\x8A"; // '拉丁字母小寫 a 附帶上環' (U+00E5) 正規化格式 "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // '拉丁字母小寫 o 附帶分音符' (U+00F6) 正規化格式 "D"

print grapheme_strlen( 'abc' . $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd);

?>

以上範例會輸出

6

另請參閱

新增註解

使用者貢獻的註解 1 則註解

8
jonhoggg at gmail dot com
2 年前
您可以使用 grapheme_strlen() 將表情符號計為單一字元

<?php
echo strlen('🏴󠁧󠁢󠁥󠁮󠁧󠁿'); //28 - 糟糕
echo mb_strlen('🏴󠁧󠁢󠁥󠁮󠁧󠁿'); // - 接近了,但還不夠
echo grapheme_strlen('🏴󠁧󠁢󠁥󠁮󠁧󠁿'); //1 - 答對了
?>
To Top