2017-04-07 128 views
1

我知道,卷曲的POSTFIELDS选项将采取无论是查询字符串或一个关联数组。PHP转换多维数组到查询字符串卷曲POST

curl_setopt($curl, CURLOPT_POSTFIELDS, $_POST); 

但可以说,我有这样的输入页面:

<input type="text" name="address[line1]"> 

PHP将创建一个多维数组$_POST['address']['line1'],不幸的是curl_setopt不知道该怎么做。有一种简单的方法可以将可能是多维的关联数组转换为有效的HTTP查询字符串吗?

或者,有没有办法像访问$_SERVER['QUERY_STRING']那样访问原始HTTP发布查询字符串?

+0

是的,这正是我所期待的。非常感谢! –

回答

4

您可以使用http_build_query()创建您可以通过卷曲的字符串:

<?php 
$posted = ["foo"=>"bar", "address"=>["line1"=>"foo"]]; 
$string = http_build_query($posted); 

echo $string; 

您也可以get access to the raw POST data使用input://但很少是必要的,除非处理非HTML数据。