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.