Daniel Vande..
27
当涉及到HTTP请求时,数组的概念并不存在.PHP(以及可能的其他服务器端语言)具有逻辑,可以获取看起来像数组(到它)的请求数据,并在填充时将它们组合在一起$_GET,$_POST等等.
例如,当您从表单POST一个数组时,表单元素通常看起来像这样:
甚至:
虽然PHP知道如何处理这些数据(即构建一个数组),HTML和HTTP,你有三个不相关的输入碰巧有类似(或相同,虽然这不是技术上有效的HTML )名字.
要对cURL请求执行相反操作,需要将数组分解为键的字符串表示形式.因此,使用您的name阵列,您可以执行以下操作:
foreach ($post['name'] as $id => $name)
{
$post['name[' . $id . ']'] = $name;
}
unset($post['name']);
这将导致您的$post数组看起来像:
Array
(
[name[0]] => Jason
[name[1]] => Mary
[name[2]] => Lucy
[id] => 12
[status] => local
[file] => @/test.txt
)
然后,您发布的数组中的每个键都是标量值,这是cURL所期望的,并且数组将表示为您需要的HTTP.
谢谢你的回答,它没有完全回答这个问题,但它非常有见地! (2认同)