Az sscanf függvény
Az sscanf függvény egy sztringet elemez a megadott formátum alapján,
és visszaadja az értékeket. Az első paraméterben a függvény az elemzendő sztringet fogadja,
a másodikban a formátum sztringet, a további paraméterek (opcionálisak) pedig változókat,
amelyekbe az elemzés eredményei kerülnek.
A formátum sztring speciális karaktereket (formátum specifikátorokat) használ, amelyek a % jellel kezdődnek és irányítják a kimenet formázását.
Szintaxis
sscanf(string $str, string $format [, mixed &$... ]): mixed
Formátum specifikátorok
| Specifikátor | Leírás |
|---|---|
%s |
Sztring |
%d |
Előjeles egész szám (decimális) |
%u |
Előjel nélküli egész szám (decimális) |
%f |
Lebegőpontos szám (locale függő) |
%F |
Lebegőpontos szám (nem locale függő) |
%c |
Karakter ASCII kód szerint |
%x |
Egész szám hexadecimális számrendszerben (kisbetű) |
%X |
Egész szám hexadecimális számrendszerben (nagybetű) |
%o |
Egész szám oktális számrendszerben |
%b |
Egész szám bináris számrendszerben |
%e |
Tudományos jelölés (kisbetű) |
%E |
Tudományos jelölés (nagybetű) |
%g |
Rövid forma %e vagy %f |
%G |
Rövid forma %E vagy %F |
%% |
Százalék jel |
Példa
Elemezzünk egy sztringet, kinyerve a számot és a szöveget:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
A kód végrehajtásának eredménye:
[42, 'the']
Példa
Bontsuk fel egy dátumot alkotóelemeire:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
A kód végrehajtásának eredménye:
'Year: 2023, Month: 12, Day: 31'