如何通过 "guzzle" 从嵌套数组生成 GET 请求的有效查询?
How to generate a valid query for GET request from a nested array by "guzzle"?
我想通过 guzzle 将 get-query 发送到 API。如果我使用这种方法
$test = [
'unum' => '0256',
'size' => 'size',
'dough' => 'dough'
];
$response = $this->guzzleClient->get('ajax/getprice.php?for_send=', [
'query' => $test
]);
效果最好。
但是如果我想发送一个嵌套数组,像这样:
$test = [
[
'unum' => '0256',
'size' => 'big',
'dough' => 'thin'
],
[
'unum' => '0256',
'size' => 'big',
'dough' => 'thin'
]
];
$response = $this->guzzleClient->get('ajax/getprice.php?for_send=', [
'query' => $test
]);
没用。
但我确定 API 接受此类请求(看起来像这样 ajax/getid.php?for_send=%5B%7B%22unum%22%3A%220141%22%2C%22dough%22%3A%22%D0%9F%D1%8B%D1%88%D0%BD%D0%BE%D0%B5%20%D1%82%D0%B5%D1%81%D1%82%D0%BE%22%2C%22size%22%3A%22%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B0%D1%8F%2C%2035%20%D1%81%D0%BC%22%7D%2C%7B%22unum%22%3A%220256%22%2C%22dough%22%3A%22%D0%9F%D1%8B%D1%88%D0%BD%D0%BE%D0%B5%20%D1%82%D0%B5%D1%81%D1%82%D0%BE%22%2C...
)
如何从嵌套数组生成有效的 query
?
根据您的示例,API 在 for_send
参数中接受 JSON,因此只需将您的数组编码为 JSON:
$test = [
[
'unum' => '0256',
'size' => 'Большая, 35 см',
'dough' => 'Тонкое тесто'
],
// ...
];
$response = $this->guzzleClient->get('ajax/getprice.php', [
'query' => ['for_send' => json_encode($test)]
]);
我想通过 guzzle 将 get-query 发送到 API。如果我使用这种方法
$test = [
'unum' => '0256',
'size' => 'size',
'dough' => 'dough'
];
$response = $this->guzzleClient->get('ajax/getprice.php?for_send=', [
'query' => $test
]);
效果最好。
但是如果我想发送一个嵌套数组,像这样:
$test = [
[
'unum' => '0256',
'size' => 'big',
'dough' => 'thin'
],
[
'unum' => '0256',
'size' => 'big',
'dough' => 'thin'
]
];
$response = $this->guzzleClient->get('ajax/getprice.php?for_send=', [
'query' => $test
]);
没用。
但我确定 API 接受此类请求(看起来像这样 ajax/getid.php?for_send=%5B%7B%22unum%22%3A%220141%22%2C%22dough%22%3A%22%D0%9F%D1%8B%D1%88%D0%BD%D0%BE%D0%B5%20%D1%82%D0%B5%D1%81%D1%82%D0%BE%22%2C%22size%22%3A%22%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B0%D1%8F%2C%2035%20%D1%81%D0%BC%22%7D%2C%7B%22unum%22%3A%220256%22%2C%22dough%22%3A%22%D0%9F%D1%8B%D1%88%D0%BD%D0%BE%D0%B5%20%D1%82%D0%B5%D1%81%D1%82%D0%BE%22%2C...
)
如何从嵌套数组生成有效的 query
?
根据您的示例,API 在 for_send
参数中接受 JSON,因此只需将您的数组编码为 JSON:
$test = [
[
'unum' => '0256',
'size' => 'Большая, 35 см',
'dough' => 'Тонкое тесто'
],
// ...
];
$response = $this->guzzleClient->get('ajax/getprice.php', [
'query' => ['for_send' => json_encode($test)]
]);