Funktionen sscanf
Funktionen sscanf analyserer en streng ved at bruge det angivne format,
og returnerer værdier. Som første parameter tager funktionen strengen, der skal analyseres,
som anden - formatstrengen, og de efterfølgende parametre (valgfrie) - variabler,
hvor resultaterne af analysen vil blive skrevet.
I formatstrengen bruges specielle symboler (formatspecifikationer), som starter med tegnet % og styrer formateringen af output.
Syntaks
sscanf(string $str, string $format [, mixed &$... ]): mixed
Formatspecifikationer
| Specifikation | Beskrivelse |
|---|---|
%s |
Streng |
%d |
Helttal med fortegn (decimal) |
%u |
Helttal uden fortegn (decimal) |
%f |
Flydende kommatal (locale-afhængig) |
%F |
Flydende kommatal (ikke locale-afhængig) |
%c |
Symbol efter ASCII-kode |
%x |
Helttal i hexadecimalt system (små bogstaver) |
%X |
Helttal i hexadecimalt system (store bogstaver) |
%o |
Helttal i oktalt system |
%b |
Helttal i binært system |
%e |
Videnskabelig notation (små bogstaver) |
%E |
Videnskabelig notation (store bogstaver) |
%g |
Kort notation %e eller %f |
%G |
Kort notation %E eller %F |
%% |
Procenttegn |
Eksempel
Lad os analysere en streng og udtrække et tal og en tekst:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Resultat af kodeudførelse:
[42, 'the']
Eksempel
Lad os opdele en dato i dens bestanddele:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Resultat af kodeudførelse:
'Year: 2023, Month: 12, Day: 31'