Funkcija sscanf

Funkcija sscanf analizē virkni, izmantojot norādīto formātu, un atgriež vērtības. Pirmo parametru funkcija pieņem parsējamo virkni, otro - formāta virkni, bet nākamie parametri (neobligātie) - mainīgos, kuros tiks ierakstīti parsēšanas rezultāti.

Formāta virknē tiek izmantotas īpašas zīmes (formāta specifikatori), kas sākas ar zīmi % un kontrolē izvades formatējumu.

Sintakse

phpsscanf(string $str, string $format [, mixed &$... ]): mixed

Formāta specifikatori

Specifikators Apraksts
%s Virkne
%d Zīmes vesels skaitlis (decimāls)
%u Bez zīmes vesels skaitlis (decimāls)
%f Peldoša punkta skaitlis (lokāli atkarīgs)
%F Peldoša punkta skaitlis (ne lokāli atkarīgs)
%c Rakstzīme pēc ASCII koda
%x Vesels skaitlis heksadecimālajā sistēmā (mazie burti)
%X Vesels skaitlis heksadecimālajā sistēmā (lielie burti)
%o Vesels skaitlis oktālajā sistēmā
%b Vesels skaitlis binārajā sistēmā
%e Zinātniskais pieraksts (mazie burti)
%E Zinātniskais pieraksts (lielie burti)
%g Īsais pieraksts %e vai %f
%G Īsais pieraksts %E vai %F
%% Procentu zīme

Piemērs

Parsēsim virkni, izvelkot skaitli un tekstu:

php<?php
  $res = sscanf("42 is the answer", "%d is %s");
  print_r($res);
?>

Koda izpildes rezultāts:

php[42, 'the']

Piemērs

Parsēsim datumu sastāvdaļās:

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

Koda izpildes rezultāts:

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

Skatiet arī

  • funkciju printf,
    kura izvada formatētu virkni
  • funkciju explode,
    kura sadala virkni pēc atdalītāja