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
version
6.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