我有这样的数组。
$fields = array(
'user[facebook_gender]' => urlencode("female"),
'user[facebook_likes]' => array(1,2,3,4,5,6)
);
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
$fields_string=rtrim($fields_string, '&');
然后我得到
user[facebook_gender]=female&user[facebook_likes]=Array
它只显示“Array”,但是我想显示Array的内容,
答案 0 :(得分:1)
查看serialize
功能
http://php.net/manual/en/function.serialize.php
例如:
foreach($fields as $key=>$value) {
if (is_array($value)) $value = serialize($value);
$fields_string .= $key.'='.$value.'&';
}
$fields_string=rtrim($fields_string, '&');
请注意,您必须在目标网站上使用unserialize()
,才能再次使用该值。
答案 1 :(得分:1)
实际上,http_build_query
完全符合您的需要。
答案 2 :(得分:0)
在阵列上使用implode:
foreach($fields as $key=>$value) {
if(is_array($value))
{
$value = implode($value,",");
}
$fields_string .= $key.'='.$value.'&';
}
$fields_string=rtrim($fields_string, '&');