parse_str

(PHP 4, PHP 5, PHP 7, PHP 8)

parse_strEffettua il parsing della stringa in variabili

Descrizione

parse_str(string $string, array &$result): void

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).

Elenco dei parametri

string

La stringa di input.

result

Se è presente il secondo parametro result, le variabili vengono invece memorizzate in questa variabile come elementi dell'array.

Avviso

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.

Valori restituiti

Nessun valore viene restituito.

Log delle modifiche

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.

Esempi

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
?>

Note

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.

Vedere anche: