Funkcja mb_strlen
Funkcja mb_strlen zwraca liczbę znaków w ciągu, poprawnie pracując z kodowaniami wielobajtowymi (na przykład UTF-8). W przeciwieństwie do strlen, poprawnie zlicza znaki zajmujące kilka bajtów. Jako pierwszy parametr przyjmuje ciąg znaków, jako drugi (opcjonalny) - kodowanie.
Składnia
mb_strlen(string, [encoding]);
Przykład
Zliczanie długości ciągu w UTF-8:
<?php
$res = mb_strlen('Привет', 'UTF-8');
echo $res;
?>
Wynik wykonania kodu:
6
Przykład
Porównanie z strlen dla cyrylicy:
<?php
$str = 'тест';
echo 'strlen: ' . strlen($str) . '<br>';
echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>
Wynik wykonania kodu:
strlen: 8
mb_strlen: 4
Przykład
Użycie bez podawania kodowania
(kodowanie jest pobierane z mb_internal_encoding):
<?php
echo mb_strlen('abcde');
?>
Wynik wykonania kodu:
5