Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何发送将作为关联数组到达PHP的POST参数?_Php_Http_Http Post - Fatal编程技术网

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

如何发送将作为关联数组到达PHP的POST参数?,php,http,http-post,Php,Http,Http Post,我想将数据发送到PHP API,该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的URL编码吗?更深层的嵌套数组也是如此 (我正在做来自

我想将数据发送到PHP API,该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
的URL编码吗?更深层的嵌套数组也是如此


(我正在做来自Android的请求,但我对POST请求的主体感兴趣)

只需使用JSON即可。您可以从应用程序发送JSON,并在服务器上进行简单的JSON解码。

是的,您可以通过确保参数正确编码来完成解码

例如,如果您对以下内容进行编码

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
转到此站点并粘贴您的代码或我提供的代码 然后单击“编码”

并将其作为参数传递到URL

如果您需要通过PHP生成这些,也许您应该看看这个

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

数据[name]=用户和数据[sub][foo]=迄今为止

资料来源:

我指的是这个功能:你是想通过url发送
$\u POST
数据吗?@MarkM当然不是,我只是在写POST body我不能更改API,它是由第三方制作的,所以我必须适应,所以诀窍可能是不要在数组的索引中使用引号-
children[bobby][age]vs children bobby][age']
?完全正确。即使您需要一个带有空格的键,也可以执行类似于ser[my name]=Bob Smith的操作,这将导致ser%5Bmy%20name%5D%3DBob%20mithyes,就是这样,即使PHP文档中的注释是正确的,我一定是看错了。