count_chars în PHP

Numără de câte ori apare fiecare octet într-un text sau returnează caracterele unice.

Sintaxă
count_chars(string $string, int $mode = 0): array|string

Ce face count_chars

count_chars analizează textul octet cu octet. Modurile cele mai folosite: 1 returnează un tablou cod => număr de apariții, doar pentru octeții care apar; 3 returnează un text cu octeții unici, sortați.

Cheile sunt coduri numerice; le transformi în caractere cu chr. Pentru texte cu diacritice folosește array_count_values(mb_str_split($text)).

Parametri

Parametru Descriere
$string Textul analizat.
$mode Opțional. 0: toți cei 256 de octeți; 1: doar cei care apar; 2: doar cei care nu apar; 3: text cu octeții unici; 4: text cu octeții care nu apar.

Ce returnează

Un tablou (modurile 0-2) sau un text (modurile 3-4).

Exemple

Exemplul 1: Frecvența literelor

<?php
foreach (count_chars("banana", 1) as $cod => $numar) {
    echo chr($cod) . ": $numar\n";
}

Rezultat

a: 3
b: 1
n: 2

Exemplul 2: Caracterele unice

<?php
echo count_chars("mississippi", 3);

Rezultat

imps

Greșeli frecvente

  • Folosești count_chars pe text cu diacritice și vezi coduri ca 200 sau 131: sunt octeții literelor, nu literele. Folosește mb_str_split cu array_count_values.

Comenzi înrudite

  • substr_count: Numără de câte ori apare un text în alt text.
  • chr / ord: chr transformă un cod numeric (0-255) în caracter, iar ord face inversul: dă codul primului octet al unui text.
  • mb_str_split: Împarte un text în caractere (sau grupuri de caractere), fără să strice literele cu diacritice.