Funkcija sscanf
Funkcija sscanf analizira niz z uporabo določene oblike
in vrne vrednosti. Prvi parameter funkcije sprejme niz za analizo,
drugi parameter - niz oblike, nadaljnji parametri (neobvezni) pa - spremenljivke,
v katere bodo zapisani rezultati razčlenjevanja.
V nizu oblike se uporabljajo posebni simboli (specifikatorji oblike), ki se začnejo z znakom % in upravljajo z oblikovanjem izpisa.
Sintaksa
sscanf(string $str, string $format [, mixed &$... ]): mixed
Specifikatorji oblike
| Specifikator | Opis |
|---|---|
%s |
Niz |
%d |
Celo število s predznakom (decimalno) |
%u |
Celo število brez predznaka (decimalno) |
%f |
Število s plavajočo vejico (odvisno od locale) |
%F |
Število s plavajočo vejico (neodvisno od locale) |
%c |
Znak po ASCII-kodi |
%x |
Celo število v šestnajstiškem sistemu (male črke) |
%X |
Celo število v šestnajstiškem sistemu (velike črke) |
%o |
Celo število v osmiškem sistemu |
%b |
Celo število v dvojiškem sistemu |
%e |
Znanstveni zapis (male črke) |
%E |
Znanstveni zapis (velike črke) |
%g |
Kratki zapis %e ali %f |
%G |
Kratki zapis %E ali %F |
%% |
Znak za odstotek |
Primer
Razčlenimo niz, izluščimo število in besedilo:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Rezultat izvajanja kode:
[42, 'the']
Primer
Razčlenimo datum na sestavne dele:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Rezultat izvajanja kode:
'Year: 2023, Month: 12, Day: 31'