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
📘 Naucz się w lekcji →