在PHP中用cURL发送post数据的正确方法是什么?

时间:2009-02-06 00:26:22

标签: php post curl

在php中使用cURL在POST中发送数据时,使用cURL选项CURLOPT_POSTFIELDS设置数据

这是一些示例数据 array('foo'=>'bar','ninja'=>'pirate')

现在我感到很困惑。

我见过的一半示例代码对数组进行了一些预处理,并将数据编码并刷新到格式正确的url字符串中。

将我们的数据数组转换为:"foo=bar&ninja=pirate",然后将该字符串设置为CURLOPT_POSTFIELDS的数据

但我见过的另一半例子只是将数组直接传递给CURLOPT_POSTFIELDS,就是这样。

令人困惑的是,他们都做了这件事。鉴于它们都有效,我不认为任何一个都可以说是“正确的”。

我能看到做字符串方法的唯一好处是你可以将参数设置到没有"foo=bar&awesome&ninja=pirate"之类的值的url中,我不知道你是否可以通过关联数组来做到这一点,因为你不能拥有一个带有值的键(我不认为),但它似乎浪费了内存,因为你将整个数组复制成一个字符串

1 个答案:

答案 0 :(得分:2)

两种方式都可以接受。

问题是;你宁愿写出代码来“刷新数据”或者创建一个数组并让PHP来处理它吗?

如果没有理由不选择easy选项,请选择easy选项:)在这个实例中(据我所知),通过将参数作为数组传递,你无法做任何事情,所以将它传递给一个数组。