mb_parse_str în PHP

Împarte un query string (nume=Ana&oras=Iași) într-un tablou, decodând valorile.

Sintaxă
mb_parse_str(string $string, &$result): bool

Ce face mb_parse_str

mb_parse_str funcționează ca parse_str: decodează textul de tip URL (%C8%99 devine „ș”) și pune perechile cheie=valoare în tabloul $result. Înțelege și cheile cu paranteze (tag[]=php).

În plus față de parse_str, poate converti codarea valorilor, dacă este activă conversia automată a datelor de intrare. Cu setările implicite, rezultatul este același.

Parametri

Parametru Descriere
$string Textul de tip query string.
$result Variabila în care se pune tabloul rezultat.

Ce returnează

true la succes, false la eroare.

Exemple

Exemplul 1: Parametrii dintr-un URL

<?php
$url = "https://exemplu.ro/cauta?nume=Ana&oras=Ia%C8%99i&tag[]=php&tag[]=sql";

mb_parse_str(parse_url($url, PHP_URL_QUERY), $parametri);
print_r($parametri);

Rezultat

Array
(
    [nume] => Ana
    [oras] => Iași
    [tag] => Array
        (
            [0] => php
            [1] => sql
        )

)

Greșeli frecvente

  • Apelezi funcția fără al doilea parametru. Din PHP 8 este obligatoriu: rezultatul se pune doar în tabloul dat, nu în variabile globale.

Comenzi înrudite

  • parse_str: Transformă textul de interogare al unui URL (a=1&b=2) într-un tablou, cu valorile decodate.
  • parse_url: Împarte un URL în componente: protocol, domeniu, port, cale, interogare și fragment.
  • urlencode / urldecode: Codează un text ca să poată fi pus în siguranță într-un URL, ca valoare a unui parametru (după ?).