mb_chr

funkcja

Zwraca znak odpowiadający podanemu Unicode code point w danym kodowaniu. Odwrotność mb_ord().

mb_chr(int $codepoint, ?string $encoding = null): string|false

mb_chr zamienia numer Unicode (code point) na odpowiadający mu znak zakodowany w $encoding (domyślnie UTF-8). Jest odwrotnością mb_ord(). Zwykłe chr() obsługuje tylko zakres 0–255 i nie radzi sobie ze znakami wielobajtowymi — chr(321) nie zwróci litery Ł, bo 321 to wartość spoza zakresu jednego bajtu.

<?php
declare(strict_types=1);

echo mb_chr(321, 'UTF-8'); // wynik: Ł
echo mb_chr(260, 'UTF-8'); // wynik: Ą
echo mb_chr(65,  'UTF-8'); // wynik: A

// Porównanie z chr():
echo chr(321 % 256); // wynik: A  (321 % 256 = 65 — błędny wynik!)

Funkcja zwraca false, gdy $codepoint jest poza prawidłowym zakresem Unicode (0–1 114 111). Razem z mb_ord() tworzy parę do konwersji znak ↔ liczba w środowiskach wielobajtowych.

📘 Naucz się w lekcji →