Analysieren Sie eine Zeichenfolge:
<?php$str = "age:30 Weight:60kg";sscanf($str,"age:%d Weight:%dkg",$age,$weight);// Typen und Werte anzeigenvar_dump($age,$weight );?>Die Funktion sscanf() analysiert die Eingabe einer Zeichenfolge gemäß einem angegebenen Format. Die Funktion sscanf() analysiert eine Zeichenfolge basierend auf einer Formatzeichenfolge in eine Variable.
Wenn Sie der Funktion nur zwei Argumente übergeben, werden die Daten als Array zurückgegeben. Andernfalls werden bei der Übergabe zusätzlicher Parameter die geparsten 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 jedoch die Anzahl der Trennzeichen kleiner ist als die Anzahl der sie enthaltenden Variablen, enthalten die zusätzlichen Variablen NULL.
Verwandte Funktionen:
printf() – gibt eine formatierte Zeichenfolge aus
sprintf() – schreibt einen formatierten String in eine Variable
sscanf( string,format,arg1,arg2,arg++ )
Parameter | beschreiben |
---|---|
Zeichenfolge | Erforderlich. Gibt die Zeichenfolge an, die gelesen werden soll. |
Format | Erforderlich. Gibt das zu verwendende Format an. Mögliche Formatwerte: %% – gibt ein Prozentzeichen % zurück %c – das Zeichen, das dem ASCII-Wert entspricht %d – Dezimalzahl mit Vorzeichen (negativ, 0, positiv) %e – Verwenden Sie die wissenschaftliche Schreibweise in Kleinbuchstaben (z. B. 1.2e+2) %u – Dezimalzahl ohne Vorzeichen (größer oder gleich 0) %f – Gleitkommazahl %o – Oktalzahl %s – Zeichenfolge %x – Hexadezimale Zahl (Kleinbuchstaben) %X – Hexadezimalzahl (Großbuchstaben) Zusätzliche Formatwerte. Muss zwischen % und einem Buchstaben stehen (z. B. %.2f): + (Fügen Sie + oder - vor einer Zahl hinzu, um das Vorzeichen der Zahl zu definieren. Standardmäßig werden nur negative Zahlen markiert, positive Zahlen werden nicht markiert.) ' (Gibt an, was als Auffüllung verwendet werden soll, standardmäßig Leerzeichen. Es muss mit einem Breitenbezeichner verwendet werden. Beispiel: %'x20s (verwenden Sie „x“ als Auffüllung)) - (Wert der linken Anpassungsvariable) [0-9] (gibt die Mindestbreite des Variablenwerts an) .[0-9] (gibt die Anzahl der Dezimalstellen oder die maximale Stringlänge an) Hinweis: Wenn mehrere der oben genannten Formatwerte verwendet werden, müssen diese in der oben genannten Reihenfolge verwendet werden und dürfen nicht unterbrochen werden. |
arg1 | Optional. Die erste Variable zum Speichern von Daten. |
arg2 | Optional. Eine zweite Variable zum Speichern der Daten. |
arg++ | Optional. Die dritte und vierte Variable, die Daten speichert. Und so weiter. |
Rückgabewert: | Wenn Sie der Funktion nur zwei Argumente übergeben, werden die Daten als Array zurückgegeben. Andernfalls werden bei der Übergabe zusätzlicher Parameter die geparsten 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 jedoch die Anzahl der Trennzeichen kleiner ist als die Anzahl der sie enthaltenden Variablen, enthalten die zusätzlichen Variablen NULL. |
---|---|
PHP-Version: | 4.0.1+ |
Verwenden Sie die Formatwerte %s, %d und %c:
<?php$str = "Wenn Sie 4 durch 2 teilen, erhalten Sie 2";$format = sscanf($str,"%s %s %s %d %s %d %s %s %c"); print_r($format);?>