sscanf

funkcja

Parsuje ciąg według wzorca formatującego — odwrotność sprintf. Zwraca tablicę wartości lub liczbę przypisanych zmiennych.

sscanf(string $string, string $format, mixed &...$vars): array|int|null

sscanf to odwrotność sprintf — zamiast formatować dane do ciągu, wyciąga je z ciągu zgodnie z wzorcem. Wzorzec używa tych samych specyfikatorów co printf: %d (int), %f (float), %s (string) itp. Gdy nie podasz zmiennych przez referencję (&...$vars), funkcja zwraca tablicę dopasowanych wartości. Jeśli podasz zmienne referencyjne, zwraca liczbę przypisanych wartości. Zwracana wartość zależy od sytuacji: gdy $string jest pusty — zwraca null; gdy wzorzec nie pasuje do treści — zwraca tablicę z null na niedopasowanych pozycjach.

<?php
declare(strict_types=1);

$wynik = sscanf('2024-06-15', '%d-%d-%d');
var_dump($wynik);
// wynik: array(3) { [0]=> int(2024) [1]=> int(6) [2]=> int(15) }

$wynik2 = sscanf('cena: 49.99 PLN', 'cena: %f %s');
var_dump($wynik2);
// wynik: array(2) { [0]=> float(49.99) [1]=> string(3) "PLN" }
📘 Naucz się w lekcji →