将数组发送到array_map函数时出错。因为该数组包含一个数组。
$arr = array();
$value=array(
"result"=>$str,
"rightAnswer"=>$arr,
"tid"=>$topicId,
"view"=>$view,
);
$value = array_map('utf8_encode', $value);
这显示错误,如
消息:utf8_encode()期望参数1为字符串,给定数组
答案 0 :(得分:1)
参数应该是一个字符串。希望下面的回调函数可以帮助您实现它。
function encode_data($val){
if(is_array($val)){
return $val = array_map('encode_data', $val);
}else{
return utf8_encode($val);
}
}
$value = array_map('encode_data', $value);
print_r($value);
答案 1 :(得分:-1)
Utf_encode()仅接受字符串参数,并且您正在发送数组参数
"rightAnswer"=>$arr
这就是为什么它会显示警告。
$arr = '';
$value=array(
"result"=>$str,
"rightAnswer"=>$arr,
"tid"=>$topicId,
"view"=>$view,
);
$value = array_map('utf8_encode', $value);
它会正常工作。我刚刚将$arr = ''
改为字符串