Funktionen sscanf
Funktionen sscanf analyserar en sträng med hjälp av det angivna formatet,
och returnerar värden. Den första parametern tar funktionen emot strängen som ska analyseras,
den andra - formatsträngen, och de efterföljande parametrarna (valfria) - variabler,
där resultaten av analysen kommer att skrivas.
I formatsträngen används specialtecken (formatspecifikationer) som börjar med tecknet % och styr formateringen av utdata.
Syntax
sscanf(string $str, string $format [, mixed &$... ]): mixed
Formatspecifikationer
| Specifikation | Beskrivning |
|---|---|
%s |
Sträng |
%d |
Heltal med tecken (decimal) |
%u |
Heltal utan tecken (decimal) |
%f |
Flyttal (lokalberoende) |
%F |
Flyttal (icke lokalberoende) |
%c |
Tecken enligt ASCII-kod |
%x |
Heltal i hexadecimalt system (gemener) |
%X |
Heltal i hexadecimalt system (versaler) |
%o |
Heltal i oktalt system |
%b |
Heltal i binärt system |
%e |
Vetenskaplig notation (gemener) |
%E |
Vetenskaplig notation (versaler) |
%g |
Kort notation %e eller %f |
%G |
Kort notation %E eller %F |
%% |
Procenttecken |
Exempel
Låt oss analysera en sträng och extrahera ett nummer och text:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Resultat av kodkörning:
[42, 'the']
Exempel
Låt oss analysera ett datum i dess beståndsdelar:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Resultat av kodkörning:
'Year: 2023, Month: 12, Day: 31'