function arrayCv($data) {
if (is_array($data)) {
foreach ($data as $key => $val) {
if (!is_array($val)) {
$arr[$key] = iconv('UTF-8', 'GBK', $val);
} else {
$arr[$key] = arrayCv($val);
}
}
} else {
return iconv('UTF-8', 'GBK', $data);
}
return $arr;
}
现在是这个样的感觉不优雅,有用array_map, array_walk来实现的吗
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
试试 array_walk_recursive 。
function arrayCv($data) { if (is_array($data)) { foreach ($data as $key => $val) { $arr[$key]=arrayCv($val); } } else { return iconv('UTF-8', 'GBK', $data); } }==================================================
function myConv(&$value,$key) { $value=iconv('UTF-8', 'GBK',$value); } function arrayCv($data) { array_walk($data,"myConv"); }function ac($input = array()){ return json_decode(iconv('UTF-8', 'GBK//IGNORE', json_encode($input,JSON_UNESCAPED_UNICODE)),true); }不知道这个行不行。有人用php5.4么。测测。