Az sscanf függvény

Az sscanf függvény egy sztringet elemez a megadott formátum alapján, és visszaadja az értékeket. Az első paraméterben a függvény az elemzendő sztringet fogadja, a másodikban a formátum sztringet, a további paraméterek (opcionálisak) pedig változókat, amelyekbe az elemzés eredményei kerülnek.

A formátum sztring speciális karaktereket (formátum specifikátorokat) használ, amelyek a % jellel kezdődnek és irányítják a kimenet formázását.

Szintaxis

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

Formátum specifikátorok

Specifikátor Leírás
%s Sztring
%d Előjeles egész szám (decimális)
%u Előjel nélküli egész szám (decimális)
%f Lebegőpontos szám (locale függő)
%F Lebegőpontos szám (nem locale függő)
%c Karakter ASCII kód szerint
%x Egész szám hexadecimális számrendszerben (kisbetű)
%X Egész szám hexadecimális számrendszerben (nagybetű)
%o Egész szám oktális számrendszerben
%b Egész szám bináris számrendszerben
%e Tudományos jelölés (kisbetű)
%E Tudományos jelölés (nagybetű)
%g Rövid forma %e vagy %f
%G Rövid forma %E vagy %F
%% Százalék jel

Példa

Elemezzünk egy sztringet, kinyerve a számot és a szöveget:

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

A kód végrehajtásának eredménye:

php[42, 'the']

Példa

Bontsuk fel egy dátumot alkotóelemeire:

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

A kód végrehajtásának eredménye:

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

Lásd még

  • a printf függvényt,
    amely formázott sztringet ír ki
  • a explode függvényt,
    amely egy sztringet elválasztó alapján felbont