PHP sscanf() Funktion

Beispiel

Zeichenkette analysieren:

<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// Typ und Wert anzeigen
var_dump($age,$weight);
?>

Laufende Beispiele

Definition und Verwendung

Die Funktion sscanf() parsest Eingaben aus einer Zeichenkette basierend auf dem angegebenen Format. Die Funktion sscanf() parsest die Zeichenkette basierend auf dem Formatstring in die Variablen.

Wenn nur zwei Parameter an die Funktion übergeben werden, werden die Daten in Form eines Arrays zurückgegeben. Andernfalls werden die geparseden Daten in den zusätzlichen Parametern gespeichert. Es kann ein Fehler auftreten, wenn die Anzahl der Bezeichner größer ist als die Anzahl der Variablen, die sie enthalten. Wenn die Anzahl der Bezeichner jedoch kleiner ist als die Anzahl der Variablen, die sie enthalten, enthalten die zusätzlichen Variablen NULL.

Verwandte Funktionen:

  • printf() - Gibt einen formatierten String aus
  • sprintf() - Schreibt einen formatierten String in eine Variable

Syntax

sscanf(string,format,arg1,arg2,arg++)
Parameter Beschreibung
string Erforderlich. Definiert die zu lesende Zeichenkette.
format

Erforderlich. Definiert das zu verwendende Format.

Mögliche Formatwerte:

  • - Gibt einen Prozentsatz (%) zurück
  • - ASCII-Wert entsprechender Buchstabe
  • - Dezimalzahl mit Vorzeichen (Negativ, 0, Positiv)
  • - wissenschaftliche Notation in Kleinbuchstaben (z.B. 1.2e+2)
  • - Dezimalzahl ohne Vorzeichen (größer oder gleich 0)
  • - Fließkomma
  • - Oktag Dezimalzahl
  • - Zeichenkette
  • - Hexadezimalzahl (kleine Buchstaben)
  • %X - Hexadezimalzahl (Großbuchstaben)

Zusätzliche Formatwerte. Muss zwischen % und dem Buchstaben platziert werden (z.B. %.2f):

  • + (Fügt ein + oder - vor die Zahl, um die Vorzeichen der Zahl zu definieren. Standardmäßig werden nur Negative markiert, Positive nicht.)
  • ' (Bestimmt, was als Füllmaterial verwendet wird, Standard ist ein Leerzeichen. Es muss mit dem Breiten specifier verwendet werden.)
  • - (Linksbündig macht den Variablenwert)
  • .[0-9] (Bestimmt die minimale Breite des Variablenwerts)
  • .[0-9] (Bestimmt die Anzahl der Dezimalstellen oder die maximale Zeichenlänge)

Kommentar:Wenn mehrere der oben genannten Formatwerte verwendet werden, müssen sie in der oben genannten Reihenfolge verwendet werden.

arg1 Optional. Die erste Variable, um die Daten zu speichern.
arg2 Optional. Die zweite Variable, um die Daten zu speichern.
arg++ Optional. Die dritte und vierte Variablen, um die Daten zu speichern, usw.

Technische Details

Rückgabewert: Wenn nur zwei Parameter an diese Funktion übergeben werden, wird die Daten in Form eines Arrays zurückgegeben. Andernfalls, wenn zusätzliche Parameter übergeben werden, werden die geparseden Daten in diesen Parametern gespeichert. Wenn die Anzahl der Trennzeichen größer ist als die Anzahl der Variablen, die sie enthalten, tritt ein Fehler auf. Wenn die Anzahl der Trennzeichen jedoch kleiner ist als die Anzahl der Variablen, die sie enthalten, enthalten die zusätzlichen Variablen NULL.
PHP-Version: 4.0.1+

Mehr Beispiele

Beispiel 1

Verwenden Sie Formatwerte %s, %d und %c:

<?php
$str = "If you divide 4 by 2 you'll get 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>

Laufende Beispiele