Функция 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'