Php GUZULT 6数组_合并不按窗体参数工作?
我正在运行Php GUZULT 6数组_合并不按窗体参数工作?,php,guzzle6,guzzlehttp,Php,Guzzle6,Guzzlehttp,我正在运行php7.3.8上的guzzlehttp/guzzleversion6.5.5.并试图发出post请求。 其中一个必填字段是blog 所以当我这样做的时候: $comment = [ 'foo' => 'bar' ]; $data = $comment + ["blog" => $this->blogUrl]; dump($data); $options = [ 'form_params' => [ $data
php7.3.8
上的guzzlehttp/guzzle
version6.5.5.
并试图发出post请求。
其中一个必填字段是blog
所以当我这样做的时候:
$comment = [
'foo' => 'bar'
];
$data = $comment + ["blog" => $this->blogUrl];
dump($data);
$options = [
'form_params' => [
$data,
],
'headers' => [
'Content-Type' => 'application/x-www-form-urlencoded',
]
];
$response = $this->client->post($url, $options);
我得到的错误是“blog”字段丢失
上述转储的结果是:
array:2 [
"foo" => "bar"
"blog" => "http://jigal.dev"
]
但当我这样做时(注意我将“blog”移到了表单_params key中):
错误消失了
执行array\u merge($comment,[“blog”=>this->blogUrl]
而不是$data=$comment+[“blog”=>$this->blogUrl];
没有什么区别
有什么建议吗?此代码正在运行:
$data = ["blog" => $this->blogUrl] + $comment;
'form_params' => $data
而不是
form_-params=>[$data]
您的第一个示例相当于:form_-params'=>[[['foo'=>'bar','blog'=>…]
。请注意双方括号。编辑:哦,好吧,您已经搞定了。
$data = ["blog" => $this->blogUrl] + $comment;
'form_params' => $data