Функция sscanf
Функция sscanf белгиланган форматдан фойдаланиб, сатрни таҳлил қилади
ва қийматларни қайтаради. Биринчи параметр сифатида функция таҳлил қилинадиган сатрни қабул қилади,
икинчиси - формат сатри, ва кейинги параметрлар (ихтиёрий) - таҳлил натижалари
ёзиладиган ўзгарuvчилар.
Формат сатрида % белгиси билан бошланувчи ва чиқиш форматини бошқарувчи
максус символлар (формат спецификаторлари) ишлатилади.
Синтаксис
sscanf(string $str, string $format [, mixed &$... ]): mixed
Формат спецификаторлари
| Спецификатор | Тавсиф |
|---|---|
%s |
Сатр |
%d |
Белгили бутун сон (ўнлик) |
%u |
Белгисиз бутун сон (ўнлик) |
%f |
Сузuvчи нуқтали сон (локалга боглик) |
%F |
Сузuvчи нуқтали сон (локалга боглик эмас) |
%c |
ASCII-код бўйича символ |
%x |
Ун олттилик тизимдаги бутун сон (кичик ҳарф) |
%X |
Ун олттилик тизимдаги бутун сон (катта ҳарф) |
%o |
Ун саккизлик тизимдаги бутун сон |
%b |
Ун иккилик тизимдаги бутун сон |
%e |
Илмий ёзув (кичик ҳарф) |
%E |
Илмий ёзув (катта ҳарф) |
%g |
Қисқа ёзув %e ёки %f |
%G |
Қисқа ёзув %E ёки %F |
%% |
Фоиз белгиси |
Мисол
Сон ва матнни чиқариб олиш учун сатрни таҳлил қиламиз:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Кодни бажариш натижаси:
[42, 'the']
Мисол
Санални таркибий қисмларга ажратамиз:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Кодни бажариш натижаси:
'Year: 2023, Month: 12, Day: 31'