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
Nachstehend finden Sie die Syntax von PHP sscanf():
sscanf(input_string, format, arg1, arg2, arg3....)
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:
Es gibt auch ein paar zusätzliche Formatwerte, die zwischen dem %-Symbol und dem von uns angegebenen Buchstaben platziert werden. (Zum Beispiel %0.3f)
Rückgabewerte: Hier gibt es 2 Fälle, die auftreten können:
Im Folgenden finden Sie die genannten Beispiele:
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); ?>
Ausgabe:
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.
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"; ?>
Ausgabe:
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.
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"; ?>
Output:
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.
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); ?>
Output:
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.
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!