Funktsioon sscanf
Funktsioon sscanf analüüsib stringi, kasutades määratud vormingut,
ja tagastab väärtused. Esimesena võtab funktsioon analüüsitava stringi,
teisena - vormingu stringi, ja järgnevad parameetrid (mittekohustuslikud) - muutujad,
kuhu sõelumise tulemused kirjutatakse.
Vormingu stringis kasutatakse spetsiaalseid sümboleid (vormingu spetsifikaatoreid), mis algavad märgist % ja juhib vorminduse väljundit.
Süntaks
sscanf(string $str, string $format [, mixed &$... ]): mixed
Vormingu spetsifikaatorid
| Spetsifikaator | Kirjeldus |
|---|---|
%s |
String |
%d |
Märgiga täisarv (kümnendsüsteemis) |
%u |
Märgita täisarv (kümnendsüsteemis) |
%f |
Ujukomaarv (locale-sõltuv) |
%F |
Ujukomaarv (mitte locale-sõltuv) |
%c |
Sümbol vastavalt ASCII-koodile |
%x |
Täisarv kuueteistkümnendsüsteemis (väiketähed) |
%X |
Täisarv kuueteistkümnendsüsteemis (suurtähed) |
%o |
Täisarv kaheksandsüsteemis |
%b |
Täisarv kahendsüsteemis |
%e |
Teaduslik notation (väiketähed) |
%E |
Teaduslik notation (suurtähed) |
%g |
Lühivorm %e või %f |
%G |
Lühivorm %E või %F |
%% |
Protsendimärk |
Näide
Sõelume stringi, eraldades numbri ja teksti:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Koodi täitmise tulemus:
[42, 'the']
Näide
Sõelume kuupäeva komponentideks:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Koodi täitmise tulemus:
'Year: 2023, Month: 12, Day: 31'