Funcția sscanf
Funcția sscanf analizează un șir, utilizând formatul specificat,
și returnează valori. Primul parametru, funcția primește șirul pentru analiză,
al doilea - șirul de format, iar parametrii următori (opționali) - variabile,
în care vor fi scrise rezultatele analizei.
În șirul de format sunt utilizate caractere speciale (specificatori de format), care încep cu semnul % și gestionează formatarea ieșirii.
Sintaxă
sscanf(string $str, string $format [, mixed &$... ]): mixed
Specificatori de format
| Specificator | Descriere |
|---|---|
%s |
Șir de caractere |
%d |
Număr întreg cu semn (zecimal) |
%u |
Număr întreg fără semn (zecimal) |
%f |
Număr cu virgulă mobilă (dependent de localizare) |
%F |
Număr cu virgulă mobilă (independent de localizare) |
%c |
Caracter după codul ASCII |
%x |
Număr întreg în sistemul hexazecimal (litere mici) |
%X |
Număr întreg în sistemul hexazecimal (litere mari) |
%o |
Număr întreg în sistemul octal |
%b |
Număr întreg în sistemul binar |
%e |
Notație științifică (litere mici) |
%E |
Notație științifică (litere mari) |
%g |
Scriere scurtă %e sau %f |
%G |
Scriere scurtă %E sau %F |
%% |
Semnul procent |
Exemplu
Să analizăm un șir, extragând numărul și textul:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Rezultatul executării codului:
[42, 'the']
Exemplu
Să analizăm data în componente:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Rezultatul executării codului:
'Year: 2023, Month: 12, Day: 31'