我有一个像这样的数组。
$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的内容,
看看serialize
函数
foreach($fields as $key=>$value) {
if (is_array($value)) $value = serialize($value);
$fields_string .= $key.'='.$value.'&';
}
$fields_string=rtrim($fields_string, '&');
请注意,您必须在目标站点上使用unserialize()
,才能再次使用该值。
实际上,http_build_query
正是您所需要的。
对数组使用内爆:
foreach($fields as $key=>$value) {
if(is_array($value))
{
$value = implode($value,",");
}
$fields_string .= $key.'='.$value.'&';
}
$fields_string=rtrim($fields_string, '&');