parse_str
funkcja
Parsuje ciąg zapytania URL (query string) i zapisuje wynik do podanej tablicy przez referencję. Odpowiednik $_GET dla własnych ciągów.
parse_str(string $string, array &$result): void
parse_str rozkłada ciąg w formacie klucz=wartość&klucz2=wartość2 i zapisuje wynik do tablicy przekazanej jako drugi argument (przez referencję). Spacje zakodowane jako + są automatycznie zamieniane z powrotem, podobnie jak sekwencje %XX.
Uwaga: Funkcja zapisuje wynik wyłącznie do drugiego argumentu — nie tworzy zmiennych w bieżącym zasięgu (dawne zachowanie bez drugiego argumentu było niebezpieczne i zostało usunięte).
Przydatna w parze z parse_url: wyciągnij query z URL-a, a potem przekaż do parse_str.
<?php
declare(strict_types=1);
$queryString = 'szukaj=php+kurs&strona=2&aktywny=1';
parse_str($queryString, $params);
print_r($params);
// Array (
// [szukaj] => php kurs
// [strona] => 2
// [aktywny] => 1
// )
// Typowy przepływ — rozkład pełnego URL-a:
$url = 'https://example.com/wyniki?szukaj=php+kurs&strona=2';
parse_str(parse_url($url, PHP_URL_QUERY), $wynik);
echo $wynik['szukaj']; // wynik: php kurs