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來實現的嗎
回複內容:
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來實現的嗎
試試 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麼。測測。