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;
}

 

posted @ 2015-02-14 18:19  suhanyujie  阅读(355)  评论(0编辑  收藏  举报