PHP sscanf() function

Example

Parse string:

<?php
$str = "age:30 weight:60kg";
sscanf($str, "age:%d weight:%dkg", $age, $weight);
// Display type and value
var_dump($age, $weight);
?>

Kør eksempel

Definition and Usage

The sscanf() function parses input from a string based on the specified format. The sscanf() function parses strings into variables based on the format string.

If only two parameters are passed to this function, the data will be returned in array form. Otherwise, if additional parameters are passed, the parsed data will be stored in these parameters. If the number of delimiters is greater than the number of variables containing them, an error will occur. However, if the number of delimiters is less than the number of variables containing them, the additional variables will contain NULL.

Related functions:

  • printf() - Output a formatted string
  • sprintf() - Write a formatted string to a variable

Syntax

sscanf(string,format,arg1,arg2,arg++)
Parameter Description
string Required. Specifies the string to be read.
format

Required. Specifies the format to be used.

Possible format values:

  • %% - Returns a percentage sign %
  • %c - Character corresponding to ASCII value
  • %d - Decimal number with sign (negative, 0, positive)
  • %e - Scientific notation in lowercase (e.g., 1.2e+2)
  • 蒝ecimal number without sign (greater than or equal to 0)
  • %f - Floating-point number
  • %o - Octal number
  • %s - String
  • 0x - Hexadecimal number (lowercase letters)
  • %X - Hexadecimalt tal (store bogstaver)

Yderligere formatværdier. Kræver at placeres mellem % og bogstaverne (f.eks. %.2f):

  • + (Tilføj + eller - foran tallene for at definere deres positivitet eller negativitet. Standard er kun negative tal markeret, positive tal ikke markeret)
  • ' (angiver, hvad der skal bruges som fyldning, standard er mellemrum. Det skal bruges sammen med breddeindstukteren.)
  • - (venstrejustering af variabelværdi)
  • .[0-9] (angiver variabelværdens minimale bredde)
  • .[0-9] (angiver antallet af decimaler eller maksimal strenglængde)

Kommentar:Hvis flere af de nævnte formatværdier bruges, skal de bruges i den samme rækkefølge som ovenfor.

arg1 Valgfri. Første variabel til lagring af data.
arg2 Valgfri. Anden variabel til lagring af data.
arg++ Valgfri. Tredje og fjerde variabler til lagring af data, osv.

Tekniske detaljer

Returværdi: Hvis kun to parametre sendes til denne funktion, returneres dataene i form af et array. Hvis der sendes yderligere parametre, gemmes de analyserede data i disse parametre. Hvis antallet af skilletegn er større end antallet af variabler, der indeholder dem, opstår der en fejl. Hvis antallet af skilletegn er mindre end antallet af variabler, der indeholder dem, indeholder de ekstra variabler NULL.
PHP Version: 4.0.1+

Flere eksempler

Eksempel 1

Brug formatværdierne %s, %d og %c:

<?php
$str = "Hvis du deler 4 med 2, får du 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>

Kør eksempel