php – 在guzzle中通过查询字符串发送数组
发布时间:2020-12-13 13:08:25 所属栏目:PHP教程 来源:网络整理
导读:Guzzle客户端默认从此代码创建 $client-get('https://example.com/{?a}',array('a' = array('c','d'))); 这个网址 https://example.com/?a=c,d 在RESTful应用程序中在查询字符串中发送数组的最佳做法是什么?问题是,如何在服务器端确定c,d是字符串还是数组?
Guzzle客户端默认从此代码创建
$client->get('https://example.com/{?a}',array('a' => array('c','d'))); 这个网址 https://example.com/?a=c,d 在RESTful应用程序中在查询字符串中发送数组的最佳做法是什么?问题是,如何在服务器端确定c,d是字符串还是数组?使用方括号发送数组不是更好吗一个[] = C&安培;一个[] = d?如何设置Guzzle使用方括号?或者最好使用JSON编码变量?在服务器端我使用的是Tonic.
工作方案:
$vars = array('state[]' => array('Assigned','New'),'per_page' => $perPage,'page' => $pageNumber); $query = http_build_query($vars,null,'&'); $string = preg_replace('/%5B(?:[0-9]|[1-9][0-9]+)%5D=/','=',$query); // state[]=Assigned&state[]=New $client = new Client([follow instruction to initialize your client ....]); $response = $client->request('GET',$uri,['query' => $string]); 现在您的请求中有相同的名称参数. 粪. 资料来源:http_build_query with same name parameters (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |