欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php从接口获取数据转成可以用的数组或其他(含转换编码)

程序员文章站 2022-05-03 15:17:52
...

程序开发,时常会用到将接口的json数据转换成程序可以用的,因为今天看到一个比较好的程序,贴上来,以备随时查看: /* * * 将对象转成数组,并按要求转换编码 * * @param array $array 待转编码数组 * @param 标记 $flag 1为从GBK到UTF-8 0为从UTF-8到GBK *

程序开发,时常会用到将接口的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;
}