Funkcia sscanf
Funkcia sscanf analyzuje reťazec pomocou zadaného formátu
a vráti hodnoty. Prvým parametrom funkcia prijíma reťazec na analýzu,
druhým - reťazec formátu, a ďalšie parametre (voliteľné) - premenné,
do ktorých budú zapísané výsledky analýzy.
V reťazci formátu sa používajú špeciálne znaky (formátové špecifikátory), ktoré začínajú znakom % a riadia formátovanie výstupu.
Syntax
sscanf(string $str, string $format [, mixed &$... ]): mixed
Formátové špecifikátory
| Špecifikátor | Popis |
|---|---|
%s |
Reťazec |
%d |
Celé číslo so znamienkom (desiatkové) |
%u |
Celé číslo bez znamienka (desiatkové) |
%f |
Číslo s pohyblivou rádovou čiarkou (závislé od lokality) |
%F |
Číslo s pohyblivou rádovou čiarkou (nezávislé od lokality) |
%c |
Znak podľa ASCII kódu |
%x |
Celé číslo v šestnástkovej sústave (malé písmená) |
%X |
Celé číslo v šestnástkovej sústave (veľké písmená) |
%o |
Celé číslo v osmičkovej sústave |
%b |
Celé číslo v dvojkovej sústave |
%e |
Vedecká notácia (malé písmená) |
%E |
Vedecká notácia (veľké písmená) |
%g |
Krátky zápis %e alebo %f |
%G |
Krátky zápis %E alebo %F |
%% |
Znak percenta |
Príklad
Analyzujme reťazec, extrahujeme číslo a text:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Výsledok vykonania kódu:
[42, 'the']
Príklad
Analyzujme dátum na zložky:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Výsledok vykonania kódu:
'Year: 2023, Month: 12, Day: 31'