当前位置:主页 > PHP开发 > PHP基础 >

PHP中把stdClass Object转array的几个方法

栏目:PHP基础 来源: 微信小程序开发网 阅读: 2018-02-28

复制代码 代码如下:


//PHP stdClass Object转array 
function object_array($$array) { 
    if(is_object($$array)) { 
        $$array = (array)$$array; 
     } if(is_array($$array)) { 
         foreach($$array as $$key=>$$value) { 
             $$array[$$key] = object_array($$value); 
             } 
     } 
     return $$array; 
}

方法二:

复制代码 代码如下:


$$array = json_decode(json_encode(simplexml_load_string($$xmlString)),TRUE);

方法三:

复制代码 代码如下:


 function object2array_pre(&$$object) {
        if (is_object($$object)) {
            $$arr = (array)($$object);
        } else {
            $$arr = &$$object;
        }
        if (is_array($$arr)) {
            foreach($$arr as $$varName => $$varValue){
                $$arr[$$varName] = $$this->object2array($$varValue);
            }
        }
        return $$arr;
    }


如果是10W的数据量的话,执行要进1s,结构再复杂些,可以达到3s, 性能太差了
可以用以下替换:
 

复制代码 代码如下:

function object2array(&$$object) {
             $$object =  json_decode( json_encode( $$object),true);
             return  $$object;
    }


 但是对json的特性,只能是针对utf8的,否则得先转码下。