Functie sscanf
De functie sscanf analyseert een string met behulp van het opgegeven formaat,
en retourneert waarden. De eerste parameter accepteert de te analyseren string,
de tweede - een string met het formaat, en de volgende parameters (optioneel) - variabelen,
waarin de resultaten van de ontleding worden geschreven.
In de formaatstring worden speciale symbolen (formaat specificatoren) gebruikt, die beginnen met het teken % en de opmaak van de uitvoer sturen.
Syntaxis
sscanf(string $str, string $format [, mixed &$... ]): mixed
Formaat specificatoren
| Specificator | Beschrijving |
|---|---|
%s |
String |
%d |
Geheel getal met teken (decimaal) |
%u |
Geheel getal zonder teken (decimaal) |
%f |
Getal met drijvende komma (locale-afhankelijk) |
%F |
Getal met drijvende komma (niet locale-afhankelijk) |
%c |
Karakter volgens ASCII-code |
%x |
Geheel getal in hexadecimaal systeem (kleine letters) |
%X |
Geheel getal in hexadecimaal systeem (hoofdletters) |
%o |
Geheel getal in octaal systeem |
%b |
Geheel getal in binair systeem |
%e |
Wetenschappelijke notatie (kleine letters) |
%E |
Wetenschappelijke notatie (hoofdletters) |
%g |
Korte notatie %e of %f |
%G |
Korte notatie %E of %F |
%% |
Procentteken |
Voorbeeld
Laten we een string ontleden, waarbij we een getal en tekst extraheren:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Resultaat van de code-uitvoering:
[42, 'the']
Voorbeeld
Laten we een datum in onderdelen ontleden:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Resultaat van de code-uitvoering:
'Year: 2023, Month: 12, Day: 31'