Ce face sscanf
sscanf primește un text și un șablon cu marcaje (%d număr întreg, %f număr zecimal, %s cuvânt fără spații, %c un caracter) și extrage valorile corespunzătoare, deja convertite la tipul potrivit.
Fără parametri suplimentari, returnează un tablou cu valorile. Dacă dai variabile după șablon, valorile sunt puse în ele, iar funcția returnează câte valori a găsit.
Parametri
| Parametru | Descriere |
|---|---|
$string |
Textul citit. |
$format |
Șablonul, cu marcaje %d, %f, %s etc. |
$vars |
Opțional. Variabile în care se pun valorile găsite. |
Ce returnează
Un tablou cu valorile (null pentru cele care nu au fost găsite) sau, dacă ai dat variabile, numărul de valori puse în ele. Pentru un text gol returnează null, respectiv -1.
Exemple
Exemplul 1: Valorile într-un tablou
<?php
var_dump(sscanf("Comanda 1024: 3 buc.", "Comanda %d: %d buc."));
Rezultat
array(2) {
[0]=>
int(1024)
[1]=>
int(3)
}
Exemplul 2: Valorile direct în variabile
<?php
$gasite = sscanf("19.10.2026", "%d.%d.%d", $zi, $luna, $an);
echo "Am găsit $gasite valori: ziua $zi, luna $luna, anul $an";
Rezultat
Am găsit 3 valori: ziua 19, luna 10, anul 2026
Greșeli frecvente
- Te aștepți ca
%ssă citească un text cu spații. Se oprește la primul spațiu. Pentru texte complexe foloseștepreg_match.
Comenzi înrudite
sprintf: Construiește un text formatat după un șablon și îl returnează, fără să îl afișeze.preg_match: Verifică dacă un text se potrivește cu o expresie regulată și extrage prima potrivire.explode: Împarte un text în bucăți după un separator și le pune într-un tablou.