微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

请求中的括号

如何解决请求中的括号

我正在将wordpress与activecampaign插件一起使用。我试图使用一个webhook来发送联系人电子邮件数据到一个PHP页面在这里我可以对这些信息做一些事情。如何在PHP中接收结构如下的数据:

已编码

contact%5Bid%5D=67330&contact%5Bemail%5D=asdf%40d.nl&contact%5Bfirst_name%5D=sadf&contact%5Blast_name%5D=asdf&contact%5Bphone%5D=%2B1063494959&contact%5Borgname%5D=&contact%5Bcustomer_acct_name%5D=&contact%5Btags%5D=&contact%5Bip4%5D=0.0.0.0&seriesid=266

已解码

contact[id]=67330&contact[email]=asdf@d.nl&contact[first_name]=sadf&contact[last_name]=asdf&contact[phone]=+1624567935&contact[orgname]=&contact[customer_acct_name]=&contact[tags]=&contact[ip4]=0.0.0.0&seriesid=266

我尝试使用$email = $_POST["contact[email]"];,但没有运气。

解决方法

这是每当您使用括号作为要在POST中发送的数据的标识符时发生的事情,在您的情况下,它将形成诸如$key=>$value关系的关联数组,例如,如果已收到contact[email]通过后请求,它将类似于形式$contact=>$email的关联数组,在这种情况下,可以使用$_POST['contact']['email']来访问它,因为数据将采用以下数组结构Array ( [contact] => Array ( [email] => someone@somewhere.com ) )

总结一下,如果您只是复制了以下内容,您的上述请求就可以使用

$email=$_POST['contact']['email'];

如果答案有效,别忘了接受并投赞成票,以便其他人可以从中受益并轻松找到正确的答案。如果您遇到其他问题,请随时提出评论。和平;-)

,

您可以将explode与urldecode函数一起使用:

看例子:

$query = "my=apples&are=green+and+red";

foreach (explode('&',$query) as $chunk) {
    $param = explode("=",$chunk);

    if ($param) {
        printf("Param\"%s\" - \"%s\"<br/>\n",urldecode($param[0]),urldecode($param[1]));
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。