Znalezienie długości ciągu znaków

PHP:
Znalezienie długości ciągu znaków

Jak to zrobić:

W PHP używamy funkcji strlen() do uzyskania długości łańcucha znaków. Łatwo i szybko:

<?php
$tekst = "Witaj, świecie!";
echo strlen($tekst);  // Wyświetli: 15
?>

Zwróć uwagę, że strlen() zwraca długość łańcucha dla jednobajtowych kodowań. Dla Unicode potrzebujemy mb_strlen():

<?php
$tekst = "Cześć";
echo mb_strlen($tekst, 'UTF-8');  // Wyświetli: 5
?>

W głąb tematu

Wcześniejsze wersje PHP nie wspierały wielobajtowych kodowań - to wyzwanie w epoce globalizacji. Standard strlen() zakłada jeden bajt na znak, co jest niewystarczające dla języków używających alfabetów innych niż łaciński. Dlatego pojawiła się funkcja mb_strlen(), która obsługuje Unicode i może liczyć prawidłowo znaki w różnych kodowaniach (na przykład UTF-8).

Alternatywnie, z funkcji iconv_strlen() też można korzystać, by zmierzyć długość łańcucha w określonym kodowaniu.

A co z wydajnością? strlen() jest szybsza, bo działa na prostych, jednobajtowych znakach. mb_strlen() ma do wykonania więcej pracy, ale jest niezbędna, gdy pracujemy z tekstami w wielobajtowych kodowaniach, takich jak UTF-8.

Zobacz również

Pamiętaj, że wiedza o kodowaniach tekstów i właściwe ich użycie to podstawa przy pracy z różnorodnymi danymi wejściowymi. Nie lekceważ tego, szczególnie w aplikacjach międzynarodowych!