PHP のドキュメントでは詳しく説明されていませんが、このように動作するはずです。たとえば、リクエスト変数のページには、配列のような Cookie について次のように書かれています。
複数の値を 1 つの Cookie 変数に割り当てたい場合は、配列として割り当てることができます。例えば:
<?php
setcookie("MyCookie[foo]", 'Testing 1', time()+3600);
setcookie("MyCookie[bar]", 'Testing 2', time()+3600);
?>
これにより、2 つの個別の Cookie が作成されますが、MyCookie はスクリプト内で単一の配列になります。複数の値を持つ Cookie を 1 つだけ設定する場合は、最初に値に対して serialize() または expand() を使用することを検討してください。
言い換えれば、あなたが送るとき:
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 で渡すキー => 値データの格納に最適です。
$_POST
単純なオブジェクト (aka ) が含まれていることを期待しているようですがstdClass
、そうではありません。PHP のほとんどの SOAP ヘルパーは、単純なオブジェクト応答を返します (これは、PHP の典型的な動作の混合です)。すべてのフィールドをオブジェクトに変換したい場合は、いくつかのアイデアについてこの質問を参照してください。$_POST["Data"]
しかし、それは高価で不必要です。