sscanf функциясы
sscanf функциясы көрсөтүлгөн форматты колдонуп, сапты талдайт
жана маанилерди кайтарат. Функция биринчи параметр катары талдоо үчүн сапты кабыл алат,
экинчиси - формат сабын, ал эми кийинки параметрлер (милдеттүү эмес) - талдоонун натыйжалары
жазыла турган өзгөрмөлөр.
Формат сабында % белгисинен башталган атайын символдор (форматтык спецификаторлор) колдонулат, алар чыгарылышты форматтоону башкарат.
Синтаксис
sscanf(string $str, string $format [, mixed &$... ]): mixed
Форматтык спецификаторлор
| Спецификатор | Сүрөттөмө |
|---|---|
%s |
Сап (String) |
%d |
Белгилүү бүтүн сан (ондук) |
%u |
Белгисиз бүтүн сан (ондук) |
%f |
Үтүрлүү чекиттүү сан (локалга көз каранды) |
%F |
Үтүрлүү чекиттүү сан (локалга көз каранды эмес) |
%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'