É uma tarefa até comum para alguns programadores PHP colocar ou ter que trabalhar com URL query string. Para isto, em geral, utilizam métodos engenhosos para a tarefa, como implode, concatenação, etc. No entanto, desde o lançamento do PHP5, esta tarefa foi facilitada pela adição do método http_build_query, infelizmente ainda pouco conhecido. Abaixo um exemplo de uso:
$dados = array(
'idioma' => 'pt-BR',
'q' => 'Go Drall, GO',
'testar-escape' => 'acentuação',
);
echo http_build_query($dados);
// idioma=pt-BR&q=Go+Drall+GO&testar-escape=acentua%C3%A7%C3%A3o
Caso queira saber sobre as Partes de uma URL e como costumam ser parseadas, basta clicar no link.
Já mais conhecido dos programadores em geral é o trabalho inverso, que também é possível com as funções parse_url e parse_str:
http://devblog.drall.com.br/?s=url&submit=Procurar
$url = parse_url('http://devblog.drall.com.br/?s=php+url&submit=Procurar');
parse_str($url['query'], $query);
echo $query['s'];
// php url
A função parse_str por padrão extrai as variáveis no escopo em que foi executada. O segundo argumento que informamos no exemplo acima, como variável $query é para ser gerado por referência um resultado com o valor de retorno desejado.




