Справочники, инструменты, документация

PHP: Получить параметры из URL-адреса

Практически все разработчики хотя бы раз в своей практике задавались вопросом, как получить параметры из строки URL с помощью функций PHP.

В нашем руководстве мы предоставим вам две простые и удобные функции, такие как pase_url() и parse_str(), которые позволят вам это сделать.

Перед началом обратите внимание, что параметры и URL-адрес разделены ? символом.

Использование функций parse_url () и parse_str

Эта функция предназначена для возврата компонентов URL-адреса путем анализа URL-адреса. Таким образом, он анализирует URL-адрес, возвращая ассоциативный массив, который включает в себя различные компоненты. Синтаксис parse_url() функции следующий:

parse_url( $url, $component = -1 )

С помощью parse_str() функции вы можете разбирать строки запроса на переменные. Синтаксис этой функции такой:

parse_str( $string, $array )

Теперь давайте посмотрим на примеры использования этих функций для получения параметров из строки URL.

// Инициализировать URL-адрес переменной
$url = 'http://w3docs.com?name=John';

// Используйте функцию parse_url() для анализа URL-адреса
// и возвращает ассоциативный массив, который
// содержит его различные компоненты
$url_components = parse_url($url);

// Используйте функцию parse_str() для анализа 
// строки, переданной через URL-адрес
parse_str($url_components['query'], $params);

// Отобразить
echo ' Hi ' . $params['name'];

Результат примера: привет, Джон.

Теперь рассмотрим другой пример

// Инициализировать URL-адрес переменной
$url = 'http://w3docs.com/register?name=Andy&email=andy1995@gmail.com';

// Используйте функцию parse_url() для анализа URL-адреса
// и возвращает ассоциативный массив, который
// содержит его различные компоненты
$url_components = parse_url($url);

// Используйте функцию parse_str() для анализа 
// строки, переданной через URL-адрес
parse_str($url_components['query'], $params);

// Отобразить
echo ' Hi ' . $params['name'] . ' your emailID is ' . $params['email'];

Результат примера: Привет, Энди, твой адрес электронной почты andy1995@gmail.com.