Funkcja sscanf() w PHP
Przykład
Analizuj ciąg znaków:
<?php $str = "age:30 weight:60kg"; sscanf($str,"age:%d weight:%dkg",$age,$weight); // Wyświetl typ i wartość var_dump($age,$weight); ?>
Definicja i użycie
Funkcja sscanf() analizuje wejście z ciągu znaków według określonego formatu. Funkcja sscanf() analizuje ciąg znaków na podstawie formatu stringa.
Jeśli przekazano tylko dwa parametry, dane będą zwracane w formie tablicy. W przeciwnym razie, jeśli przekazano dodatkowe parametry, przetworzone dane będą przechowywane w tych parametrach. Jeśli liczba separatorów jest większa niż liczba zmiennych, wystąpi błąd. Jednak jeśli liczba separatorów jest mniejsza niż liczba zmiennych, dodatkowe zmienne będą zawierać NULL.
Związane funkcje:
Gramatyka
sscanf(string,format,arg1,arg2,arg++)
Parametr | Opis |
---|---|
string | Wymagane. Określa ciąg znaków do odczytania. |
format |
Wymagane. Określa format do użycia. Możliwe wartości formatu:
Dodatkowe wartości formatowe. Muszą być umieszczone między % i literą (np. %.2f)
Komentarz:Jeśli używasz wielu powyższych wartości formatowych, muszą one być używane w kolejności podanej powyżej. |
arg1 | Opcjonalnie. Pierwsza zmienna przechowująca dane. |
arg2 | Opcjonalnie. Druga zmienna przechowująca dane. |
arg++ | Opcjonalnie. Trzecia i czwarta zmienne przechowujące dane, itd. |
Szczegółowe informacje techniczne
Wartość zwracana: | Jeśli przekazano tylko dwa parametry do tej funkcji, dane będą zwracane w formie tablicy. W przeciwnym razie, jeśli przekazano dodatkowe parametry, dane te będą przechowywane w tych parametrach. Jeśli liczba separatorów jest większa niż liczba zmiennych, które je zawierają, wystąpi błąd. Jednak jeśli liczba separatorów jest mniejsza niż liczba zmiennych, dodatkowe zmienne będą zawierać NULL. |
Wersja PHP: | 4.0.1+ |
Więcej przykładów
Przykład 1
Użyj wartości formatowych %s, %d i %c:
<?php $str = "Jeśli podzielisz 4 przez 2, uzyskasz 2"; $format = sscanf($str,"%s %s %s %d %s %d %s %s %c"); print_r($format); ?>