Ce face substr_count
substr_count numără aparițiile lui $needle. Face diferența între litere mari și mici, iar aparițiile care se suprapun sunt numărate o singură dată.
Cu $offset și $length poți număra doar într-o parte a textului.
Parametri
| Parametru | Descriere |
|---|---|
$haystack |
Textul în care se numără. |
$needle |
Textul căutat. Nu poate fi gol. |
$offset |
Opțional. Poziția de la care începe numărarea. |
$length |
Opțional. Lungimea porțiunii în care se numără. |
Ce returnează
Numărul de apariții.
Exemple
Exemplul 1: Numărarea unui cuvânt
<?php
$text = "PHP e simplu. Învăț PHP pe dexblog.ro. php";
echo substr_count($text, "PHP") . "\n";
echo substr_count(strtolower($text), "php");
Rezultat
2
3
Exemplul 2: Numărul de rânduri și suprapunerile
În „aaa”, textul „aa” apare de două ori dacă admiți suprapunerea, dar substr_count îl numără o singură dată.
<?php
$csv = "Ana,25\nMihai,31\nIoana,28\n";
echo "Rânduri: " . substr_count($csv, "\n") . "\n";
echo substr_count("aaa", "aa");
Rezultat
Rânduri: 3
1
Greșeli frecvente
- Numeri un cuvânt și găsești și apariții în interiorul altor cuvinte:
substr_count("mere merele", "mere")dă 2. Pentru cuvinte întregi foloseștepreg_match_all('/\bmere\b/', ...).
Comenzi înrudite
str_word_count: Numără cuvintele dintr-un text sau le returnează într-un tablou.preg_match_all: Găsește toate potrivirile unei expresii regulate într-un text și le pune într-un tablou.strpos: Găsește poziția primei apariții a unui text în alt text.