ფუნქცია sscanf

ფუნქცია sscanf აანალირებს სტრიქონს, გამოიყენებს მითითებულ ფორმატს, და აბრუნებს მნიშვნელობებს. პირველ პარამეტრად ფუნქცია იღებს სტრიქონს ანალიზისთვის, მეორედ - ფორმატის სტრიქონს, ხოლო შემდგომი პარამეტრები (არასავალდებულო) - ცვლადები, რომლებშიც ჩაიწერება დაშლის შედეგები.

ფორმატის სტრიქონში გამოიყენება სპეციალური სიმბოლოები (ფორმატის სპეციფიკატორები), რომლებიც იწყება % ნიშნით და აკონტროლებენ გამოტანის ფორმატირებას.

სინტაქსი

phpsscanf(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<?php
  $res = sscanf("42 is the answer", "%d is %s");
  print_r($res);
?>

კოდის შესრულების შედეგი:

php[42, 'the']

მაგალითი

დავშალოთ თარიღი კომპონენტებად:

php<?php
  $date = "2023-12-31";
  list($year, $month, $day) = sscanf($date, "%d-%d-%d");
  echo "Year: $year, Month: $month, Day: $day";
?>

კოდის შესრულების შედეგი:

php'Year: 2023, Month: 12, Day: 31'

იხილეთ აგრეთვე

  • ფუნქცია printf,
    რომელიც ბეჭდავს დაფორმატებულ სტრიქონს
  • ფუნქცია explode,
    რომელიც ყოფს სტრიქონს გამყოფის მიხედვით