(PHP 4, PHP 5, PHP 7, PHP 8)
parse_str — Effettua il parsing della stringa in variabili
Suddivide la stringa string
come se fosse una query string
passata via URL ed imposta le variabili nell'ambito corrente (o nell'array
se è fornito il parametro result
).
string
La stringa di input.
result
Se è presente il secondo parametro result
,
le variabili vengono invece memorizzate in questa variabile come elementi dell'array.
L'uso di questa funzione senza il parametro result
è fortemente
NON CONSIGLIATO e DEPRECATO a partire da PHP 7.2.
A partire da PHP 8.0.0, il parametro result
è OBBLIGATORIO.
Nessun valore viene restituito.
Versione | Descrizione |
---|---|
8.0.0 |
result non è più opzionale.
|
7.2.0 |
L'uso di parse_str() senza un secondo parametro
ora genera un avviso E_DEPRECATED .
|
Example #1 Utilizzo di parse_str()
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
// Consigliato
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
// NON CONSIGLIATO
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>
Poiché le variabili in PHP non possono contenere punti e spazi nei loro nomi,
questi vengono convertiti in underscore. Lo stesso vale per la denominazione delle
rispettive chiavi nell'array quando si usa questa funzione con il
parametro result
.
Example #2 parse_str() name mangling
<?php
parse_str("My Value=Something");
echo $My_Value; // Something
parse_str("My Value=Something", $output);
echo $output['My_Value']; // Something
?>
Nota:
Su tutte le variabili create (o i valori restituiti nell'array se è impostato il secondo parametro) sarà già eseguita la funzione urldecode().
Nota:
Per ottenere la
QUERY_STRING
corrente, puoi usare la variabile $_SERVER['QUERY_STRING']. Inoltre, potrebbe essere utile leggere la sezione su variabili da fonti esterne.