sscanf funktsiyasi
sscanf funktsiyasi satrni tahlil qiladi, ko‘rsatilgan formatdan foydalanadi,
va qiymatlarni qaytaradi. Funktsiya birinchi parametr sifatida tahlil qilinadigan satrni qabul qiladi,
ikkinchisi - format satri, va keyingi parametrlar (ixtiyoriy) - tahlil natijalari yoziladigan
o‘zgaruvchilardir.
Format satrida % belgisidan boshlanadigan maxsus belgilar (format spesifikatorlari) ishlatiladi, ular chiqish formatlashni boshqaradi.
Sintaksis
sscanf(string $str, string $format [, mixed &$... ]): mixed
Format spesifikatorlari
| Spesifikator | Tavsif |
|---|---|
%s |
Satr |
%d |
Imzoli butun son (o‘nlik) |
%u |
Imzosiz butun son (o‘nlik) |
%f |
Suzuvchi nuqtali son (locale-bog‘liq) |
%F |
Suzuvchi nuqtali son (locale-bog‘liq emas) |
%c |
ASCII-kod bo‘yicha belgi |
%x |
O‘n oltilik sanoq sistemasidagi butun son (kichik registr) |
%X |
O‘n oltilik sanoq sistemasidagi butun son (katta registr) |
%o |
Sakkizlik sanoq sistemasidagi butun son |
%b |
Ikkilik sanoq sistemasidagi butun son |
%e |
Ilmiy yozuv (kichik registr) |
%E |
Ilmiy yozuv (katta registr) |
%g |
%e yoki %f ning qisqa yozuvi |
%G |
%E yoki %F ning qisqa yozuvi |
%% |
Foiz belgisi |
Misol
Satrni son va matnni ajratib olish orqali tahlil qilamiz:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Kodni bajarish natijasi:
[42, 'the']
Misol
Sannni tarkibiy qismlariga ajratamiz:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Kodni bajarish natijasi:
'Year: 2023, Month: 12, Day: 31'