使用Array中的Array创建Post URL

时间:2015-08-25 16:05:54

标签: php arrays url posting

我有一个API:

$data = array( 
2     'api_method'        =>   'subscriber_add',  
3     'api_key'           =>   '3009', 
4     'api_data'          =>   array( 
5         'email'             => "email@domain.com", 
6         'list_id'           =>   array(1,2,3), 
7     ) 
8 );  

我在发送' 1'的list_id时遇到问题用下面的sql。电子邮件正在运行

http://URL_ADDRESS.com/admin-ajax.php?action=newsletters_api&api_method=subscriber_add&api_key=67185672AFD27C3A62D6855E95288F87&api_data[email]=email@domain.com&api_data[list_id]=1

如何处理数组中的数组

2 个答案:

答案 0 :(得分:0)

如果您要发送POST,您可以将此数据发送到您的请愿书正文中。但我想你必须改变你的API方法admin-ajax.php?action=newsletters_api

您的POST正文内容的一个示例是:

{
    'api_method' : 'subscriber_add',
    'api_key':'3009',
    'api_data':[
            { 'email':'email@domain.com'},
            { 'list_id': [1,2,3]}
        ]
}

如果您不能这样做,您可以将数组作为以逗号分隔的字符串发送:

http://URL_ADDRESS.com/admin-ajax.php?action=newsletters_api&api_method=subscriber_add&api_key=67185672AFD27C3A62D6855E95288F87&api_data[email]=email@domain.com&api_data[list_id]=1,2,3

并解析代码中的内容

答案 1 :(得分:0)

我不确定,但这样可行:

http://URL_ADDRESS.com/admin-ajax.php?action=newsletters_api&api_method=subscriber_add&api_key=67185672AFD27C3A62D6855E95288F87&api_data[email]=email@domain.com&api_data[list_id][]=1&api_data[list_id][]=2&api_data[list_id][]=3

您只能关注json_encode()和json_decode(),以便更轻松地传输数据。

最后,回复您的第一篇帖子的评论,不要使用序列化/反序列化,而不是用于用户提供的数据。它可能会导致PHP对象注入。

祝你好运,

丹尼尔