Funktion sscanf
Die Funktion sscanf analysiert eine Zeichenkette unter Verwendung des angegebenen Formats
und gibt Werte zurück. Der erste Parameter der Funktion ist die zu analysierende Zeichenkette,
der zweite ist die Formatzeichenkette und die folgenden Parameter (optional) sind Variablen,
in die die Analyseergebnisse geschrieben werden.
In der Formatzeichenkette werden spezielle Symbole (Format-Spezifizierer) verwendet, die mit dem Zeichen % beginnen und die Formatierung der Ausgabe steuern.
Syntax
sscanf(string $str, string $format [, mixed &$... ]): mixed
Format-Spezifizierer
| Spezifizierer | Beschreibung |
|---|---|
%s |
Zeichenkette (String) |
%d |
Ganzzahl mit Vorzeichen (dezimal) |
%u |
Ganzzahl ohne Vorzeichen (dezimal) |
%f |
Gleitkommazahl (lokaleabhängig) |
%F |
Gleitkommazahl (nicht lokaleabhängig) |
%c |
Zeichen nach ASCII-Code |
%x |
Ganzzahl im Hexadezimalsystem (Kleinbuchstaben) |
%X |
Ganzzahl im Hexadezimalsystem (Großbuchstaben) |
%o |
Ganzzahl im Oktalsystem |
%b |
Ganzzahl im Binärsystem |
%e |
Wissenschaftliche Schreibweise (Kleinbuchstaben) |
%E |
Wissenschaftliche Schreibweise (Großbuchstaben) |
%g |
Kurzschreibweise %e oder %f |
%G |
Kurzschreibweise %E oder %F |
%% |
Prozentzeichen |
Beispiel
Zerlegen Sie eine Zeichenkette, indem Sie eine Zahl und Text extrahieren:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Ergebnis der Codeausführung:
[42, 'the']
Beispiel
Zerlegen Sie ein Datum in seine Bestandteile:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Ergebnis der Codeausführung:
'Year: 2023, Month: 12, Day: 31'