[key:value] 是哪种查询字符串格式,我该如何(重新)创建它?

What kind query string format is this [key:value] , and how can I (re)create it?

我和 laravel 一起工作 - guzzle。我正在使用 api,我需要在其中传递查询字符串,例如:

http:://domain.com/WS.php?secret=123123&app=app1&message=[key:value][key2:value][key3:value]

我正在使用这个数组来收集获取数据:

$query = [
   'query' => [
       'app'     => 'app1',
       'secret'  => '123123',
       'message'   => [
            'key1'  => 'value',
            'key2'  => 'value',
            'key3'  => 'value',
        ]
    ]
]

我不确定如何将其转换为请求的查询字符串。其实我对这部分[key:value]一点都不熟悉。我可以自己手动创建一个字符串(也许是最后的手段),但我正在寻找比这更好的方法。

PHP 数组支持的查询字符串语法是:

variable[key?]=value

所以,

message[key]=value&message[key2]=value

支持并不意味着唯一的方式,它只是处理 PHP 时的预期方式,因为它不需要您进行任何额外的操作。

您在自己的应用程序中处理输入的方式确实没有限制,如果他们将其设计为以这种方式读取标准输入或输入,那么您必须发送这些内容。我怀疑是否有任何内置的东西来支持这一点,但为什么你不能循环遍历数组来为消息构建一个字符串:

foreach($message as $key=>$value) {
    $str .= "[$key:$value]";
}