Funksie sscanf

Die funksie sscanf ontleed 'n string deur die gespesifiseerde formaat te gebruik, en gee waardes terug. Die eerste parameter wat die funksie aanvaar is die string om te ontleed, die tweede is die formaatstring, en die daaropvolgende parameters (opsioneel) is veranderlikes waarin die resultate van die ontleding geskryf sal word.

In die formaatstring word spesiale simbole (formaatspesifiseerders) gebruik wat met die teken % begin en die formatering van die uitset beheer.

Sintaksis

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

Formaatspesifiseerders

Spesifiseerder Beskrywing
%s String
%d Getekende heelgetal (desimaal)
%u Ongetekende heelgetal (desimaal)
%f Drywende-puntgetal (lokale-afhanklik)
%F Drywende-puntgetal (nie lokale-afhanklik nie)
%c Karakter volgens ASCII-kode
%x Heelgetal in heksadesimale stelsel (kleinletters)
%X Heelgetal in heksadesimale stelsel (hoofletters)
%o Heelgetal in oktale stelsel
%b Heelgetal in binêre stelsel
%e Wetenskaplike notasie (kleinletters)
%E Wetenskaplike notasie (hoofletters)
%g Kort weergave van %e of %f
%G Kort weergave van %E of %F
%% Persentasieteken

Voorbeeld

Laat ons 'n string ontleed deur die getal en teks te onttrek:

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

Resultaat van kode-uitvoering:

php[42, 'the']

Voorbeeld

Laat ons 'n datum in sy samestellende dele ontleed:

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

Resultaat van kode-uitvoering:

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

Sien ook

  • die funksie printf,
    wat 'n geformateerde string uitskryf
  • die funksie explode,
    wat 'n string volgens 'n skeidingsteken opbreek