2013-06-17 2 views
1

Я знаю, что фильтрация несколько типов работает следующим образом:В PHP, как фильтровать несколько типов в теме api?

https://www.googleapis.com/freebase/v1/topic/m/0d6lp?filter=/common/topic/notable_for&filter=/common/topic/alias 

но когда я должен написать это в PHP, я не уверен, как идти об этом.

$service_url = 'https://www.googleapis.com/freebase/v1/topic'; 
$mid = '/m/0d6lp'; 
$params = array('key'=>$API_KEY, 'filter' => '/common/topic/notable_for', 'filter' => '/common/topic/alias'); 
$url = $service_url . $mid . '?' . http_build_query($params); 

Когда я завивать $ URL, только последний фильтр (/ общие/тема/псевдоним) вступает в силу, очевидно, потому что ключ «фильтр» происходит дважды в массиве $ Params и только значение для последнего ключ взят.

Как создать следующий URL-адрес в массивах PHP?

https://www.googleapis.com/freebase/v1/topic/m/0d6lp?filter=/common/topic/notable_for&filter=/common/topic/alias 

ответ

1

Я не уверен, что вы хотите сделать. Если то, что вы хотите просто выполнить запрос с несколькими фильтрами вы можете добавить их прямо в адресной строке, как это:

https://www.googleapis.com/freebase/v1/topic/m/0d6lp?key= $ api_key & фильтра =/общая/тема/notable_for & фильтра =/общая/тема/псевдоним

Вам не нужно использовать какой-либо массив, просто создайте url как обычную строку php. Если вы все еще хотите иметь параметры в массиве, я бы посоветовал вам сделать цикл foreach через все элементы массива для построения строки, после чего использовать строку как параметр для завитки.