Funkcija sscanf
Funkcija sscanf analizira string, koristeći navedeni format,
i vraća vrednosti. Prvi parametar funkcije prima string za analizu,
drugi - string formata, a sledeći parametri (opcioni) - promenljive,
u koje će biti upisani rezultati parsiranja.
U stringu formata koriste se specijalni simboli (formatni specifikatori), koji počinju znakom % i kontrolišu formatiranje izlaza.
Sintaksa
sscanf(string $str, string $format [, mixed &$... ]): mixed
Formatni specifikatori
| Specifikator | Opis |
|---|---|
%s |
String |
%d |
Ceo broj sa znakom (decimalni) |
%u |
Ceo broj bez znaka (decimalni) |
%f |
Broj sa pokretnim zarezom (zavisno od lokalizacije) |
%F |
Broj sa pokretnim zarezom (nezavisno od lokalizacije) |
%c |
Karakter prema ASCII-kodu |
%x |
Ceo broj u heksadecimalnom sistemu (mala slova) |
%X |
Ceo broj u heksadecimalnom sistemu (velika slova) |
%o |
Ceo broj u oktalnom sistemu |
%b |
Ceo broj u binarnom sistemu |
%e |
Naučna notacija (mala slova) |
%E |
Naučna notacija (velika slova) |
%g |
Kratak zapis %e ili %f |
%G |
Kratak zapis %E ili %F |
%% |
Znak procenta |
Primer
Parsirajmo string, izvlačeći broj i tekst:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Rezultat izvršavanja koda:
[42, 'the']
Primer
Parsirajmo datum na sastavne delove:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Rezultat izvršavanja koda:
'Year: 2023, Month: 12, Day: 31'