在PHP中,如何在主题api中过滤多种类型?

时间:2013-06-17 19:43:52

标签: php freebase

我知道过滤多种类型的方式是这样的:

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时,只有最后一个过滤器(/ common / topic / alias)生效,显然是因为'filter'键在数组$ params中出现两次,并且只获取最新键的值。

如何在PHP数组中构造以下url?

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

1 个答案:

答案 0 :(得分:1)

我不确定你想做什么。如果你想要的只是用多个过滤器执行查询,你可以直接在url字符串中添加它们,如下所示:

https://www.googleapis.com/freebase/v1/topic/m/0d6lp?key= $ API_KEY&安培;过滤器= /普通/主题/ notable_for&安培;过滤器= /普通/主题/别名

您不需要使用任何数组,只需将url构造为普通的php字符串即可。 如果您仍希望在数组中包含参数,我建议您在数组中的所有元素之前进行foreach循环以构造字符串,之后使用字符串作为curl的参数。