Funktio sscanf

Funktio sscanf analysoi merkkijonon käyttäen määriteltyä muotoilua, ja palauttaa arvot. Ensimmäisenä parametrina funktio ottaa analysoitavan merkkijonon, toisena - muotoilumerkkijonon, ja seuraavat parametrit (valinnaiset) - muuttujat, joihin jäsennystulokset tallennetaan.

Muotoilumerkkijonossa käytetään erikoismerkkejä (muotoilumäärittäjiä), jotka alkavat merkillä % ja ohjaavat tulosteen muotoilua.

Syntaksi

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

Muotoilumäärittäjät

Määrittäjä Kuvaus
%s Merkkijono
%d Etumerkillinen kokonaisluku (desimaali)
%u Etumerkitön kokonaisluku (desimaali)
%f Liukuluku (maantieteellisesti riippuvainen)
%F Liukuluku (ei maantieteellisesti riippuvainen)
%c Merkki ASCII-koodin mukaan
%x Kokonaisluku heksadesimaalijärjestelmässä (pieni kirjain)
%X Kokonaisluku heksadesimaalijärjestelmässä (iso kirjain)
%o Kokonaisluku oktaalijärjestelmässä
%b Kokonaisluku binäärijärjestelmässä
%e Tieteellinen merkintätapa (pieni kirjain)
%E Tieteellinen merkintätapa (iso kirjain)
%g Lyhyt merkintä %e tai %f
%G Lyhyt merkintä %E tai %F
%% Prosenttimerkki

Esimerkki

Jäsennetään merkkijono, poimien luku ja teksti:

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

Koodin suorituksen tulos:

php[42, 'the']

Esimerkki

Jäsennetään päivämäärä osiinsa:

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

Koodin suorituksen tulos:

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

Katso myös

  • funktion printf,
    joka tulostaa muotoillun merkkijonon
  • funktion explode,
    joka pilkkoo merkkijonon erotinmerkin mukaan