chr / ord în PHP

chr transformă un cod numeric (0-255) în caracter, iar ord face inversul: dă codul primului octet al unui text.

Sintaxă
chr(int $codepoint): string

Ce face chr / ord

chr(65) returnează "A", iar ord("A") returnează 65. Codurile 0-127 sunt cele ASCII: cifre, litere englezești, semne de punctuație.

Ambele lucrează cu un singur octet. Din PHP 8.5, chr cu o valoare în afara intervalului 0-255 și ord cu un text mai lung de un octet produc mesajul Deprecated. Pentru litere cu diacritice folosește mb_chr și mb_ord.

Parametri

Parametru Descriere
$codepoint La chr: codul numeric, între 0 și 255.
$character La ord: un caracter de un octet.

Ce returnează

chr: un text de un caracter. ord: un număr între 0 și 255.

Exemple

Exemplul 1: Conversie în ambele sensuri

<?php
echo chr(65) . chr(110) . chr(97) . "\n";
echo ord("A") . " " . ord("a") . " " . ord("0");

Rezultat

Ana
65 97 48

Exemplul 2: Literele alfabetului

<?php
for ($cod = ord("A"); $cod <= ord("J"); $cod++) {
    echo chr($cod) . " ";
}

Rezultat

A B C D E F G H I J

Exemplul 3: Diacritice: varianta mb_

<?php
echo mb_ord("ș") . "\n";
echo mb_chr(537) . mb_chr(539);

Rezultat

537
șț

Greșeli frecvente

  • Folosești ord("ș") și primești 200, adică doar primul octet din cei doi ai literei, plus un mesaj Deprecated în PHP 8.5. Folosește mb_ord.

Comenzi înrudite

  • bin2hex / hex2bin: bin2hex transformă un text (sau date binare) în cifre hexazecimale, iar hex2bin face inversul.
  • str_split: Împarte un text în bucăți de aceeași lungime și le pune într-un tablou.