mb_strlen

funkcja

Zwraca liczbę ZNAKÓW w ciągu wielobajtowym (np. UTF-8). W odróżnieniu od strlen(), liczy znaki, nie bajty.

mb_strlen(string $string, ?string $encoding = null): int

mb_strlen liczy znaki zgodnie z kodowaniem wielobajtowym (najczęściej UTF-8). To kluczowa różnica względem strlen()strlen zwraca liczbę bajtów, a w UTF-8 polskie litery zajmują po 2 bajty. Dla słowa 'Łódź' strlen zwróci 7, podczas gdy mb_strlen poprawnie zwróci 4.

<?php
declare(strict_types=1);

$s = 'Łódź';
echo mb_strlen($s, 'UTF-8'); // wynik: 4 (znaki)
echo strlen($s);              // wynik: 7 (bajty w UTF-8)
📘 Naucz się w lekcji →