如何发送将作为关联数组到达PHP的POST参数?

时间:2014-06-21 06:48:16

标签: php http http-post

我想将数据发送到PHP API,读取这样的数据:

$id = $_POST['id'];
$data = $_POST['data'];
$name = $data['name'];
$foo = $data['sub']['foo'];

发送ID,查询看起来像id = 123

但我不确定数据参数应该如何编码 - 它只是id=123&data['name']=name的网址编码 - > id=123&data%5B%27name%27%5D=name和类似的深层嵌套数组?

(我正在接受Android的请求,但我对POST请求的主体感兴趣)

3 个答案:

答案 0 :(得分:1)

是的,你可以通过确保正确编码参数

来做到这一点

例如,如果您编码以下

ser[name]=Bob Smith&user[age]=47&user[sex]=M&
user[dob]=5/12/1956&pastimes[0]=golf&pastimes[1]=opera&
pastimes[2]=poker&pastimes[3]=rap&children[bobby][age]=12&
children[bobby][sex]=M&children[sally][age]=8&
children[sally][sex]=F&flags_0=CEO

转到此站点并粘贴您提供的代码或代码 http://meyerweb.com/eric/tools/dencoder/然后点击编码

并将其作为参数传递给您的网址。

如果你需要通过PHP生成这些,也许你应该看看这个 http://php.net/manual/en/function.http-build-query.php

答案 1 :(得分:0)

只需使用JSON。您从应用程序发送JSON并在服务器中执行简单的json_decode。

答案 2 :(得分:0)

在您必须遵循API的情况下,请使用以下格式:

数据[名称] =用户&安培;数据[子] [富] = Hithere

来源: http://homakov.blogspot.de/2012/06/x-www-form-urlencoded-vs-json-pros-and.html?m=1