如何设置与Guzzle同名的查询参数?



在Guzzle中设置查询参数没有问题。但是我不能添加同名的参数。我的查询参数数组如下:

$query_params = array(
'test' => 'abc',
'test2' => true,
'limit' => 10,
'item_id' => '8159'
);

我希望查询参数如下:

?test=abc&test2=true&limit=10&item_id=8159&item_id=333&item_id=435&item_id=123..

我想复制上面的item_id参数。我进行了如下测试,但这次服务返回了一个错误的请求。当我查看链接时,我看到'='符号变成了奇怪的字符串,比如5BD0%。其他参数没有问题。但这就是那些名字相同的人的下场。

...'item_id' => array('123','3243','243')...

狼吞虎咽设置如下:

$response = $this->client->request('GET', $endpoint, array(
'headers' => array(
'X-API-KEY' => KEY
),
'query' => $query_params
));

我怎么能解决这个问题?

我使用Guzzle查询请求参数解决了上述问题。

我更改了查询参数如下。然后我更改了guzzle 'query'的值。

$query_params = [
'test' => 'abc',
'test2' => true,
'limit' => 10,
'item_id' => array('8159','123')
];
$response = $this->client->request('GET', $endpoint, [
'headers' => [
'X-API-KEY' => KEY
],
'query' => Query::build($query_params)
]);

一切都在那里:https://www.php.net/manual/fr/function.http-build-query.php(功能http_build_query()是你需要的)。

最新更新