在 php 中使用 cURL 在 POST 中发送数据时,您使用将 cURL 选项 CURLOPT_POSTFIELDS 设置为数据
这是一些示例数据
array('foo'=>'bar','ninja'=>'pirate')
现在这就是我感到困惑的地方。
我见过的一半示例代码对数组进行了一些预处理,并将数据编码和压缩成格式正确的 url 字符串。
将我们的数据数组转换为:"foo=bar&ninja=pirate"
,然后将该字符串设置为 CURLOPT_POSTFIELDS 的数据
但是我看到的另一半示例只是将数组直接传递给 CURLOPT_POSTFIELDS ,仅此而已。
令人困惑的部分在于他们都完成了这项工作。鉴于它们都有效,我认为任何一个都不能说是“正确的”。
我可以看到执行字符串方法的唯一优点是您可以在 url 中设置一个没有类似值的参数"foo=bar&awesome&ninja=pirate"
,而且我不知道您是否可以通过关联数组来做到这一点,因为您无法拥有没有 out 的键一个值(我不认为),但这似乎是在浪费内存,因为您将整个数组复制到一个字符串中