mb_ord

funkcja

Zwraca Unicode code point (liczbę całkowitą) pierwszego znaku ciągu wielobajtowego. Odpowiednik ord() dla UTF-8.

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

mb_ord zwraca numer porządkowy Unicode (code point) pierwszego znaku ciągu wielobajtowego. To wielobajtowy odpowiednik ord(). Różnica jest zasadnicza: ord('Ł'[0]) zwraca wartość pierwszego bajtu (197), a nie numer znaku w Unicode. mb_ord('Ł') poprawnie zwraca 321 — oficjalny code point litery Ł (U+0141).

<?php
declare(strict_types=1);

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

// Porównanie z ord() — użyj ord($str[0]) by uniknąć E_DEPRECATED (PHP 8.x):
echo ord('Ł'[0]); // wynik: 197 (pierwszy bajt 0xC5 UTF-8 dla Ł, nie code point!)

Jeśli $encoding wynosi null, używane jest kodowanie ustawione przez mb_internal_encoding() (domyślnie UTF-8). Funkcja zwraca false, gdy ciąg jest pusty.

📘 Naucz się w lekcji →