Funksjonen sscanf
Funksjonen sscanf analyserer en streng ved å bruke det angitte formatet,
og returnerer verdier. Den første parameteren funksjonen tar imot er strengen som skal analyseres,
den andre er formatstrengen, og de påfølgende parameterne (valgfrie) er variabler
der resultatene av analyseringen skal lagres.
I formatstrengen brukes spesielle symboler (formatspecifikatorer) som starter med tegnet % og styrer formateringen av utdata.
Syntaks
sscanf(string $str, string $format [, mixed &$... ]): mixed
Formatspecifikatorer
| Specifikator | Beskrivelse |
|---|---|
%s |
Streng |
%d |
Helttall med fortegn (desimalt) |
%u |
Helttall uten fortegn (desimalt) |
%f |
Flyttall (lokaleavhengig) |
%F |
Flyttall (ikke lokaleavhengig) |
%c |
Tegn etter ASCII-kode |
%x |
Helttall i heksadesimalsystemet (små bokstaver) |
%X |
Helttall i heksadesimalsystemet (store bokstaver) |
%o |
Helttall i oktalsystemet |
%b |
Helttall i binærsystemet |
%e |
Vitenskapelig notasjon (små bokstaver) |
%E |
Vitenskapelig notasjon (store bokstaver) |
%g |
Kortform for %e eller %f |
%G |
Kortform for %E eller %F |
%% |
Prosenttegn |
Eksempel
La oss analysere en streng og trekke ut et tall og tekst:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Resultat av kjøring av koden:
[42, 'the']
Eksempel
La oss analysere en dato i dens bestanddeler:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Resultat av kjøring av koden:
'Year: 2023, Month: 12, Day: 31'