PHP 文档中并没有很好地说明它,但它应该是这样工作的。例如,关于请求变量的页面有关于类似数组的 cookie 的说明:
如果您希望将多个值分配给单个 cookie 变量,您可以将其分配为数组。例如:
<?php
setcookie("MyCookie[foo]", 'Testing 1', time()+3600);
setcookie("MyCookie[bar]", 'Testing 2', time()+3600);
?>
这将创建两个单独的 cookie,尽管 MyCookie 现在将是您脚本中的单个数组。如果您只想设置一个具有多个值的 cookie,请考虑首先对值使用 serialize() 或 explode()。
换句话说,当您发送时:
FormData[0][Field]: username
FormData[0][Value]: test3
PHP 将其解释为一个数组数组,如下所示:
array(1) {
[0]=> array(2) {
['Field'] => String(8) "username",
['Value'] => String(5) "test3"
}
}
你可以像这样解析它:
foreach ($_POST["Data"] as $field)
{
if ($field['Field'] == "username")
{
...
}
}
请记住,PHP 数组实际上是一个有序映射。换句话说,它非常适合存储您通过 POST 传递的 key => value 数据。
您似乎期望$_POST
包含简单的对象(aka stdClass
),但它根本没有。PHP 中的大多数 SOAP 助手都会为您提供简单的对象响应(这是 PHP 行为的典型混合)。如果您真的想将每个字段转换为对象,请参阅此问题以获取一些想法。$_POST["Data"]
但这将是昂贵且不必要的。