PHP, построение URL
20 мая 2011
При работе с разными API (и не только) требуется построить URL. На входе имеем массив параметров имя-значение, на выходе получаем URL. Решение очень простое:
function getUrl($url, $params = array()) { return $url.'&'.http_build_query($params); } // используем так echo getUrl('http://open.mapquestapi.com/nominatim/v1/search?format=json', array('q' => 'Olympiaturm, Spiridon-Louis-Ring 7, München 80809'));
UPD: http_build_url
.
Комментарии RSS по email OK
А если в первом параметре нет query_string?
функция гамнокодера :)
conf, меняем
&
на?
.Sergey,
http_build_query
.разницу между исходными урлами видите? так вот, если подать туда вторую - то получится не то что нужно )
удачи :)
Тогда уж
и потестить
такая ф-я адекватно себя ведет с различными $url
Sergey, задача была показать, что
http_build_query
вообще есть, а не реализовать универсальный метод. То, что другой Sergey его реализовал — это замечательно. Просто за годы работы с PHP я насмотрелся самопальных реализаций, похожих на то, что в комментариях к страничке с документацией.Немножко оффтоп - я то понял что Sam хотел сказать - вот есть такая функция, используется наверное редко, удобно использовать например так, подпилите как хотите. Но, налетели 'специалисты' и загадили комменты :). (Ох черт, сколько Сергеев)
ПХП для самых маленьких))
А еще есть http_build_url(), и совсем велосипедов изобретать не нужно :)
Leonid, ;)
2другой Sergey: не переварит вариант - 'index.php?something_else=2222&very=much'