parse_str
(PHP 4, PHP 5, PHP 7, PHP 8)
parse_str — Converte a string em variáveis
Descrição
Interpreta string
como se ela fosse uma query string
passada via URL e cria variáveis no escopo atual ou no array se
informado em result
.
Parâmetros
string
-
The input string.
result
-
Se o segundo parâmetro
result
for informado, as variáveis serão gravadas como elementos de array.WarningUtilizar esta função sem o parâmetro
result
é altamente DESENCORAJADO e foi DESCONTINUADO a partir do PHP 7.2. Desde o 8.0.0, o parâmetroresult
é obrigatório.
Valor Retornado
Nenhum valor é retornado.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
result não é mais opcional.
|
7.2.0 |
Utilização de parse_str() sem o segundo parâmetro
agora emite um aviso de E_DEPRECATED .
|
Exemplos
Example #1 Using parse_str()
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
// Recommended
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
// DISCOURAGED
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>
Como variáveis no PHP não podem conter pontos ou espaços em seus nomes,
estes são convertidos em underlines. O mesmo se aplica aos nomes de
chaves de array no caso de utilizar esta função com o parâmetro
result
.
Example #2 Name mangling em parse_str()
<?php
parse_str("My Value=Something");
echo $My_Value; // Something
parse_str("My Value=Something", $output);
echo $output['My_Value']; // Something
?>
Notas
Note:
Todas as variáveis criadas, ou os valores informados no array do segundo parâmetro, já estarão automaticamente convertidos porurldecode().
Note:
Para obter a
QUERY_STRING
em si, vocẽ pode utilizar a variável $_SERVER['QUERY_STRING']. Além disso, leia a seção sobre variáveis de fontes externas.
Veja Também
- parse_url() - Analisa uma URL e retorna seus componentes
- pathinfo() - Retorna informações sobre um caminho de arquivo
- http_build_query() - Gera a string de consulta (query) em formato URL
- urldecode() - Decodifica uma URL codificada