PHP sscanf()

王林
Freigeben: 2024-08-29 12:55:39
Original
1235 Leute haben es durchsucht

Sscanf() ist eine vordefinierte Funktion in PHP, die die geparste Eingabezeichenfolge zurückgibt, nachdem sie gemäß dem erforderlichen Format geparst wurde. Es nimmt die Eingabe von 2 Parametern entgegen und gibt uns das erforderliche Array. In anderen Fällen werden die analysierten Daten darin gespeichert, wenn andere Parameter übergeben werden, beispielsweise optionale. Es wird ein Fehler ausgegeben, wenn mehr Spezifizierer als die Variablen vorhanden sind, die diese enthalten sollen, und die zusätzlichen Variablen werden NULL, wenn niedrigere Spezifizierer als die Variablen vorhanden sind.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax von PHP sscanf()

Nachstehend finden Sie die Syntax von PHP sscanf():

sscanf(input_string, format, arg1, arg2, arg3....)
Nach dem Login kopieren

Eingabeparameter:

1. input_string: Dies ist die Eingabezeichenfolge, die gelesen werden soll.

2. Format: Wir können die Formate gemäß der folgenden Liste nach Bedarf angeben:

  • %%: Dieses Format wird in Prozentzeichen angegeben.
  • %c: Dieses Format gibt das Zeichen gemäß den erforderlichen ASCII-Werten zurück.
  • %d: Dieses Format gilt für vorzeichenbehaftete Dezimalwerte. (Kann Null, negativ oder positiv sein)
  • %e: Dieses Format gibt die wissenschaftliche Schreibweise in Kleinbuchstaben zurück. (z. B. 1.2e+2)
  • %u: Wird zur Darstellung einer vorzeichenlosen Dezimalzahl verwendet, die entweder gleich oder größer als Null ist.
  • %f: Dies wird zur Darstellung einer Gleitkommazahl verwendet.
  • %o: Dies wird zur Darstellung einer Oktalzahl verwendet.
  • %s: Dies stellt das String-Format dar.
  • %x: Dies stellt Kleinbuchstaben für eine Hexadezimalzahl dar.
  • %X: Dies stellt Großbuchstaben für eine Hexadezimalzahl dar.

Es gibt auch ein paar zusätzliche Formatwerte, die zwischen dem %-Symbol und dem von uns angegebenen Buchstaben platziert werden. (Zum Beispiel %0.3f)

  • + (Dadurch werden sowohl +- als auch –-Werte am Anfang von Zahlen erzwungen und standardmäßig sind nur negative Werte markiert).
  • ‘ (Hier wird beschrieben, was als Auffüllung verwendet werden soll, und Leerzeichen ist hier der Standardwert. Dies sollte zusammen mit dem Breitenbezeichner verwendet werden. Zum Beispiel: %x30s, das x für die Auffüllung verwendet.)
  • – (Dies auf der linken Seite gibt uns den Variablenwert).
  • [0-9] (Dies gibt die minimale Breite an, die vom Variablenwert gehalten wird).
  • . [0-9] (Dies beschreibt die Gesamtzahl der Dezimalzahlen oder die maximale Länge der Zeichenfolge).
Hinweis: Falls mehr als ein Format verwendet wird, muss die Reihenfolge wie oben angegeben eingehalten werden.
  • arg1: Dies ist ein optionaler Parameter und auch die erste Variable, in der wir Daten speichern.
  • arg2: Dies ist ebenfalls optional und die zweite Variable, in der wir Daten speichern.
  • arg++: Dies ist optional und stellt die aufeinanderfolgenden Variablen dar, in denen wir unsere Daten weiterhin speichern.

Rückgabewerte: Hier gibt es 2 Fälle, die auftreten können:

  • Wenn dieser Funktion nur 2 Werte als Eingabeparameter übergeben werden, werden die Daten in Form eines Arrays zurückgegeben.
  • Wenn andere optionale Parameter übergeben werden, werden die analysierten Daten darin gespeichert.
  • Wenn es mehrere Spezifizierer gibt, die die Variablen überschreiten, die sie enthalten können, wird ein Fehler ausgegeben.
  • Wenn es weniger Spezifizierer gibt als die Variablen, die sie enthalten können, wird diesen Variablen NULL zugewiesen.
  • -1 wird zurückgegeben, wenn mehr Spezifizierer vorhanden sind als im erwarteten Format.

Beispiele für PHP sscanf()

Im Folgenden finden Sie die genannten Beispiele:

Beispiel #1

Code:

<?php
$text = "Random sentence goes here with numbers 5 and 8";
$f = sscanf($text,"%s %s %s %s %s %s %d %s %d");
print_r($f);
?>
Nach dem Login kopieren

Ausgabe:

PHP sscanf()

In diesem Beispiel geben wir einen Text nach Bedarf an. Verwenden Sie dann die Funktion sscanf und geben Sie die richtigen Formate an, die unsere Eingabezeichenfolge darstellen. Daher wird in der Ausgabe die genaue Zeichenfolge als Array angezeigt. Dies nur, wenn das Format mit den Daten übereinstimmt.

Beispiel #2

Code:

<?php
// fetching the unique ID of product
list($ID) = sscanf("SN/680001", "SN/%d");
// fetching date of manufacturing
$manf = "March 03 2001";
// fetching the date of expiry
$expiry = "March 03 2002";
// Parsing using sscanf function
list($mon, $day, $yr) = sscanf($manf, "%s %d %d");
list($mon, $day, $yr) = sscanf($expiry, "%s %d %d");
echo "Product $ID was manufactured on $manf and will expire on: $yr-" . substr($mon, 0, 3) . "-$day\n";
?>
Nach dem Login kopieren

Ausgabe:

PHP sscanf()

In diesem Beispiel zeigen wir, wie die Produktinformationen wie die eindeutige Herstellungs-ID und das Ablaufdatum überprüft und angezeigt werden. Im ersten Parameter rufen wir also die ID-Informationen ab und analysieren sie im %d-Format. Als nächstes rufen wir das Herstellungsdatum und das Ablaufdatum des Produkts ab und analysieren das erforderliche Format mithilfe der Funktion sscanf. Dann werden alle analysierten Dinge in einem Satz angezeigt. Hier können mehrere Dinge hinzugefügt werden, um die gewünschten Informationen anzuzeigen.

Example #3

Code:

<?php
// Fetching designer info and to generate DressInfo entry
$design = "13\tCoco Chanel";
$str = sscanf($design, "%d\t%s %s", $ID, $firstname, $lastname);
// Displaying all the above details after formatting
echo "<author id='$ID'>
<firstname>$firstname</firstname>
<surname>$lastname</surname>
</author>\n";
?>
Nach dem Login kopieren

Output:

PHP sscanf()

In this example we are using sscanf function to first parse the ID and name of the designer. Then displaying the same in HTML format by splitting the names into first name and last name.

Example #4

Code:

<?php
// We are initializing the string here
$arr = "Character PHP and number 7";
// Parsing the input string according to different format
$format = sscanf($arr,"%s %c%c%c %s %s  %d");
print_r($format);
?>
Nach dem Login kopieren

Output:

PHP sscanf()

In the above example we are first initializing the string as required and this time including a few character sets in combination with strings. The same we are parsing using the sscanf function.

Conclusion

As seen above in all the examples, sscanf function in PHP is basically used to parse any type of the input string as per the requirements. There are a few cases where this function shows inefficiency to parse the strings, where there may be incorrect output when we try to parse a tab delimited string also having normal spaces in between. It also does not give the expected output if in the code there is a file name with its extension where it finds difficult to separate the two in presence of a “.”.

Das obige ist der detaillierte Inhalt vonPHP sscanf(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage