php从接口获取数据转成可以用的数组或其他(含转换编码)
程序开发,时常会用到将接口的json数据转换成程序可以用的,因为今天看到一个比较好的程序,贴上来,以备随时查看:
/** * 将对象转成数组,并按要求转换编码 * * @param array $array 待转编码数组 * @param 标记 $flag 1为从GBK到UTF-8 0为从UTF-8到GBK * @return 编码后数组 */ function changeCoding($array,$flag=true){ if(is_object($array)||is_array($array)){ $array = (array)$array; foreach($array as $key=>$val){ $array[$key] = changeCoding($val,$flag); } }else { if($flag){ $array = iconv('gbk','utf-8',$array); }else{ $array = iconv('utf-8','gbk',$array); } } return $array; }
初次之外,如果不用转换编码的话,可以直接用这个函数:
function ob2array($obj){ if(is_object($obj)){ $obj = (array)$obj; $obj = ob2array($obj); }elseif (is_array($obj)) { foreach($obj as $key => $value){ $obj[$key] = ob2array($value); } } return $obj; }
持之以恒!