0

在 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 的键一个值(我不认为),但这似乎是在浪费内存,因为您将整个数组复制到一个字符串中

4

1 回答 1

2

两种方式都可以接受。

问题是; 你宁愿写出代码来“smush the data”还是创建一个数组并让 PHP 来处理它?

如果不确定是否没有理由不选择简单选项,请选择简单选项:) 在这种情况下(据我所知),通过将参数作为数组传递没有什么不能做的,所以将其作为数组传递。

于 2009-02-06T00:37:54.867 回答