Funksie sscanf
Die funksie sscanf ontleed 'n string deur die gespesifiseerde formaat te gebruik,
en gee waardes terug. Die eerste parameter wat die funksie aanvaar is die string om te ontleed,
die tweede is die formaatstring, en die daaropvolgende parameters (opsioneel) is veranderlikes
waarin die resultate van die ontleding geskryf sal word.
In die formaatstring word spesiale simbole (formaatspesifiseerders) gebruik wat met die teken % begin en die formatering van die uitset beheer.
Sintaksis
sscanf(string $str, string $format [, mixed &$... ]): mixed
Formaatspesifiseerders
| Spesifiseerder | Beskrywing |
|---|---|
%s |
String |
%d |
Getekende heelgetal (desimaal) |
%u |
Ongetekende heelgetal (desimaal) |
%f |
Drywende-puntgetal (lokale-afhanklik) |
%F |
Drywende-puntgetal (nie lokale-afhanklik nie) |
%c |
Karakter volgens ASCII-kode |
%x |
Heelgetal in heksadesimale stelsel (kleinletters) |
%X |
Heelgetal in heksadesimale stelsel (hoofletters) |
%o |
Heelgetal in oktale stelsel |
%b |
Heelgetal in binêre stelsel |
%e |
Wetenskaplike notasie (kleinletters) |
%E |
Wetenskaplike notasie (hoofletters) |
%g |
Kort weergave van %e of %f |
%G |
Kort weergave van %E of %F |
%% |
Persentasieteken |
Voorbeeld
Laat ons 'n string ontleed deur die getal en teks te onttrek:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Resultaat van kode-uitvoering:
[42, 'the']
Voorbeeld
Laat ons 'n datum in sy samestellende dele ontleed:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Resultaat van kode-uitvoering:
'Year: 2023, Month: 12, Day: 31'