CascadiaPHP 2024

grapheme_strlen

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

grapheme_strlenDizgenin sesletim birimi cinsinden uzunluğunu döndürür

Açıklama

Yordamsal kullanım

grapheme_strlen(string $dizge): int|false|null

Dizgenin sesletim birimi (bayt veya karakter değil) cinsinden uzunluğunu döndürür.

Bağımsız Değişkenler

dizge

Uzunluğu sesletim birimi cinsinden ölçülecek dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

Dönen Değerler

Dizge boşsa 0, değilse dizgenin uzunluğu, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - grapheme_strlen() örneği

<?php

$char_a_ring_nfd
= "a\xCC\x8A"; // 'å' (U+00E5) normalleştirme biçimi "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'ö' (U+00F6) normalleştirme biçimi "D"

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

?>

Yukarıdaki örneğin çıktısı:

6

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
8
jonhoggg at gmail dot com
2 years ago
You can use grapheme_strlen() to count emojis as a single character:

<?php
echo strlen('🏴󠁧󠁢󠁥󠁮󠁧󠁿'); //28 - oh no
echo mb_strlen('🏴󠁧󠁢󠁥󠁮󠁧󠁿'); // - closer, but no
echo grapheme_strlen('🏴󠁧󠁢󠁥󠁮󠁧󠁿'); //1 - Bingo
?>
To Top