Урлы, так их называют по-простому, могут использоваться повсеместно. Иногда требуется преобразовать строку запроса в массив, чтобы выполнить какие либо манипуляции с параметрами строки. Изобретать колесо не придется, так как в PHP для этих целей есть исправно работающая функция parse_url, которую стоит взять на заметку.
Преобразование URL-строки в массив:
$url = 'http://username:password@hostname/path?arg=value#anchor'; echo '<pre>'; print_r( parse_url($url) ); echo '</pre>';
В качестве результата функция возвратит ассоциативный массив со всеми компонентами адреса ссылки. Кроме того функция может принимать дополнительный параметр, который указывает на то, чтобы функция вернула какой-либо один компонент.
print_r ( parse_url($url, PHP_URL_PATH) );
В официальной документации PHP можно просмотреть более подробную информацию о работе функции parse_url.
Теперь рассмотрим пример, как можно создать URL-строку запроса из ассоциативного массива. Для этих задач в PHP так же есть готовая функция http_build_query, которой можно воспользоваться в случае необходимости.
Пример создания URL-строки из ассоциативного массива
$data = array('foo'=>'bar', 'baz'=>'boom', 'cow'=>'milk', 'php'=>'hypertext processor'); echo http_build_query($data) . "\n"; echo http_build_query($data, '', '&');
Результатом работы функции будет следующие строки:
foo=bar&baz=boom&cow=milk&php=hypertext+processor foo=bar&baz=boom&cow=milk&php=hypertext+processor
Эти функции уже как-то приходилось использовать на своей практике, и стоит отметить их полезность. Использование документации в значительном роде избавляет нас от лишних манипуляций с данными, что в свою очередь экономит ваше время. Успехов в работе!