Функција sscanf
Функција sscanf анализира ниску, користећи наведени формат,
и враћа вредности. Први параметар функција прима ниску за анализу,
други - ниску формата, а следећи параметри (опциони) - променљиве,
у које ће бити уписани резултати рашчлањивања.
У ниски формата користе се посебни симболи (форматни спецификатори), који почињу са знаком % и управљају форматирањем излаза.
Синтакса
sscanf(string $str, string $format [, mixed &$... ]): mixed
Форматни спецификатори
| Спецификатор | Опис |
|---|---|
%s |
Ниска |
%d |
Целобројна вредност са знаком (децимална) |
%u |
Целобројна вредност без знака (децимална) |
%f |
Број са покретним зарезом (зависно од локала) |
%F |
Број са покретним зарезом (независно од локала) |
%c |
Симбол према ASCII-коду |
%x |
Целобројна вредност у хексадецималном систему (мала слова) |
%X |
Целобројна вредност у хексадецималном систему (велика слова) |
%o |
Целобројна вредност у окталном систему |
%b |
Целобројна вредност у бинарном систему |
%e |
Научна нотација (мала слова) |
%E |
Научна нотација (велика слова) |
%g |
Кратка нотација %e или %f |
%G |
Кратка нотација %E или %F |
%% |
Знак процента |
Пример
Рашчланимо ниску, извлачећи број и текст:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Резултат извршавања кода:
[42, 'the']
Пример
Рашчланимо датум на саставне делове:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Резултат извршавања кода:
'Year: 2023, Month: 12, Day: 31'