HOWTO · PHP

Como obter parâmetros de uma string de URL em PHP

Este artigo introduz como obter parâmetros a partir de uma string de url em PHP. Ele inclui função parse_url(), função parse_str() e variável $_GET.

Nesta página

Este artigo introduzirá métodos para obter parâmetros de uma URL string em PHP.

  • Utilizando a função parse_url()
  • Utilizando a função parse_str()
  • Utilizando $_GET variável

Utilize parse_url() e parse_str() Funções para obter parâmetros de uma String de URL em PHP

Podemos utilizar as funções embutidas parse_url() e parse_str() para obter parâmetros de uma URL string. Estas funções são utilizadas em conjunto para obter os parâmetros. A função parse_url dividirá a URL em diferentes parâmetros. Depois disso, a função parse_string obterá o parâmetro requerido.

A sintaxe correta para utilizar as funções parse_url() é a seguinte

parse_url( $url, $component);

A função integrada parse_url tem dois parâmetros. Os detalhes de seus parâmetros são os seguintes

Parâmetros Descrição
$url obrigatório É o URL do qual queremos obter parâmetro.
$component opcional Ele é usado para obter um componente URL específico.

Esta função retorna os componentes de uma URL. Se nossa URL não for formatada corretamente, a função pode retornar False.

A sintaxe correta para utilizar a função parse_str() é a seguinte

parse_str( $string, $result);

A função integrada parse_str tem dois parâmetros. Os detalhes de seus parâmetros são os seguintes.

Parâmetros Descrição
$string obrigatório É a entrada string que é convertida para as variáveis.
$result obrigatório Se este parâmetro for passado, as variáveis são armazenadas nele.

Esta função não retorna nada.

O programa abaixo mostra como podemos utilizar estas funções para obter parâmetros de uma URL string.

<?php 
$url = "https://testurl.com/test/1234?email=abc@test.com&name=sarah";
$components = parse_url($url);
parse_str($components['query'], $results);
print_r($results); 
?> 

Resultado:

Array
(
    [email] => abc@test.com
    [name] => sarah
)

Agora, se quisermos obter apenas o parâmetro de e-mail, faremos as seguintes mudanças em nosso programa:

<?php 
$url = "https://testurl.com/test/1234?email=abc@test.com&name=sarah";
$components = parse_url($url);
parse_str($components['query'], $results);
echo($results['email']); 
?> 

Resultado:

abc@test.com

Também podemos passar o parâmetro $component para a função parse_url().

<?php 
$url = "https://testurl.com/test/1234?email=abc@test.com&name=sarah";
$components = parse_url($url, PHP_URL_QUERY);
//$component parameter is PHP_URL_QUERY
parse_str($components, $results);
print_r($results); 
?> 

Resultado:

Array
(
    [email] => abc@test.com
    [name] => sarah
)

Utilize $_GET Variável para obter os parâmetros de uma String de URL em PHP

Em PHP, também podemos utilizar a variável $_GET para obter parâmetros a partir de uma string de URL. É uma variável superglobal, o que significa que ela está disponível em todos os escopos. Esta variável obtém os dados, ou seja, URL, a partir de um formulário HTML.

Assumindo que a URL do formulário seja https://testurl.com/test/1234?email=abc@test.com&name=sarah. O programa que utiliza esta variável para obter parâmetros de uma URL string é o seguinte.

<?php 
echo $_GET['email'] . $_GET['name']
?> 

Resultado:

abc@test.com
sarah