用于捕获POST值的PHP

时间:2013-03-16 06:39:00

标签: php

如何使用PHP捕获具有多个第三个括号的参数的POST值? 防爆。

content[fields][attendees]
content[fields][completed]

好的,让我在这里发布url编码的原始数据:

type=activities.update&objectid=75585970&content%5Bid%5D=75585970&content%5Bname%5D=Order+Received%2F+Processing+request+%28may+need+more+info%29&content%5Bcreated%5D=2013-03-15T16%3A09%3A50%2B00%3A00&content%5Bupdated%5D=2013-03-16T06%3A37%3A01%2B00%3A00&content%5Bviewed%5D=2013-03-16T06%3A35%3A21%2B00%3A00&content%5Blevel%5D=1&content%5Bflagged%5D=0&content%5Btypeid%5D=22&content%5Bparenttypeid%5D=2&content%5Bparent%5D=75585967&content%5Bparentname%5D=Tanmoy+Sadhu+%7C+weew+%7C+RSA&content%5Bitem%5D=75585967&content%5Bitemname%5D=Tanmoy+Sadhu+%7C+weew+%7C+RSA&content%5Bitemtypeid%5D=2&content%5Bposition%5D=2&content%5Bfields%5D%5Battendees%5D=&content%5Bfields%5D%5Bcompleted%5D=1&content%5Bfields%5D%5Btitle%5D=Order+Received%2F+Processing+request+%28may+need+more+info%29+

我尝试了$_POST['content[fields][attendees]']$_POST['content\[fields\]\[attendees\]'],但没有运气。

有什么方法可以捕获它吗?

2 个答案:

答案 0 :(得分:2)

尝试

echo $_POST['content']['id'];
echo $_POST['content']['name'];
echo $_POST['content']['fields']['attendees'];

您的网址参数输出:

75585970
Order Received/ Processing request (may need more info)
<-empty string here for attendees

答案 1 :(得分:1)

我相信正确的语法是

$_POST['content']['field']

因此,对于&content%5Bid%5D=75585970的示例,您可以通过调用

获取值75585970

$_POST['content']['id'];

这是因为任何特定键的$ _POST值都是一个字符串(如果键有括号,则为数组)。

在这种情况下,$_POST['content']返回一个包含许多不同键值对的数组,您可以使用这些数组键访问这些值,就像在任何多维数组中一样。