ფუნქცია sscanf
ფუნქცია sscanf აანალირებს სტრიქონს, გამოიყენებს მითითებულ ფორმატს,
და აბრუნებს მნიშვნელობებს. პირველ პარამეტრად ფუნქცია იღებს სტრიქონს ანალიზისთვის,
მეორედ - ფორმატის სტრიქონს, ხოლო შემდგომი პარამეტრები (არასავალდებულო) - ცვლადები,
რომლებშიც ჩაიწერება დაშლის შედეგები.
ფორმატის სტრიქონში გამოიყენება სპეციალური სიმბოლოები (ფორმატის სპეციფიკატორები), რომლებიც იწყება % ნიშნით და აკონტროლებენ გამოტანის ფორმატირებას.
სინტაქსი
sscanf(string $str, string $format [, mixed &$... ]): mixed
ფორმატის სპეციფიკატორები
| სპეციფიკატორი | აღწერა |
|---|---|
%s |
სტრიქონი |
%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'