Функция 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,
    която разделя низ по разделител