Отправка сообщения






Добро пожаловать!

Как преобразовать URL-строку в массив?

kak-preobrazovat-url-stroku-v-massivУрлы, так их называют по-простому, могут использоваться повсеместно. Иногда требуется преобразовать строку запроса в массив, чтобы выполнить какие либо манипуляции с параметрами строки. Изобретать колесо не придется, так как в 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, '', '&amp;');

Результатом работы функции будет следующие строки:

foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor

Эти функции уже как-то приходилось использовать на своей практике, и стоит отметить их полезность. Использование документации в значительном роде избавляет нас от лишних манипуляций с данными, что в свою очередь экономит ваше время. Успехов в работе!

Добавил: htmaker, 20.09.2015 г.
 
плохослабосойдетхорошоотлично (1 голосов, средний: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Комментарии

  • Загрузка...
Форум digital-planet.info

Наверх