Funktionen sscanf

Funktionen sscanf analyserar en sträng med hjälp av det angivna formatet, och returnerar värden. Den första parametern tar funktionen emot strängen som ska analyseras, den andra - formatsträngen, och de efterföljande parametrarna (valfria) - variabler, där resultaten av analysen kommer att skrivas.

I formatsträngen används specialtecken (formatspecifikationer) som börjar med tecknet % och styr formateringen av utdata.

Syntax

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

Formatspecifikationer

Specifikation Beskrivning
%s Sträng
%d Heltal med tecken (decimal)
%u Heltal utan tecken (decimal)
%f Flyttal (lokalberoende)
%F Flyttal (icke lokalberoende)
%c Tecken enligt ASCII-kod
%x Heltal i hexadecimalt system (gemener)
%X Heltal i hexadecimalt system (versaler)
%o Heltal i oktalt system
%b Heltal i binärt system
%e Vetenskaplig notation (gemener)
%E Vetenskaplig notation (versaler)
%g Kort notation %e eller %f
%G Kort notation %E eller %F
%% Procenttecken

Exempel

Låt oss analysera en sträng och extrahera ett nummer och text:

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

Resultat av kodkörning:

php[42, 'the']

Exempel

Låt oss analysera ett datum i dess beståndsdelar:

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

Resultat av kodkörning:

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

Se även

  • funktionen printf,
    som skriver ut en formaterad sträng
  • funktionen explode,
    som delar upp en sträng vid en avgränsare