在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中,我不知道你是否可以通过关联数组来做到这一点,因为你不能拥有一个带有值的键(我不认为),但它似乎浪费了内存,因为你将整个数组复制成一个字符串
答案 0 :(得分:2)
两种方式都可以接受。
问题是;你宁愿写出代码来“刷新数据”或者创建一个数组并让PHP来处理它吗?
如果没有理由不选择easy选项,请选择easy选项:)在这个实例中(据我所知),通过将参数作为数组传递,你无法做任何事情,所以将它传递给一个数组。