Функција sscanf

Функција sscanf анализира ниску, користећи наведени формат, и враћа вредности. Први параметар функција прима ниску за анализу, други - ниску формата, а следећи параметри (опциони) - променљиве, у које ће бити уписани резултати рашчлањивања.

У ниски формата користе се посебни симболи (форматни спецификатори), који почињу са знаком % и управљају форматирањем излаза.

Синтакса

phpsscanf(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<?php
  $res = sscanf("42 is the answer", "%d is %s");
  print_r($res);
?>

Резултат извршавања кода:

php[42, 'the']

Пример

Рашчланимо датум на саставне делове:

php<?php
  $date = "2023-12-31";
  list($year, $month, $day) = sscanf($date, "%d-%d-%d");
  echo "Year: $year, Month: $month, Day: $day";
?>

Резултат извршавања кода:

php'Year: 2023, Month: 12, Day: 31'

Погледајте такође

  • функцију printf,
    која исписује форматирану ниску
  • функцију explode,
    која дели ниску по сепаратору