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


Posted in PHP onMay 08, 2014

方法一:

//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的,否则得先转码下。
PHP 相关文章推荐
也谈 PHP 和 MYSQL
Oct 09 PHP
PHP 中的批处理的实现
Jun 14 PHP
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
php创建多级目录代码
Jun 05 PHP
php5.3 注意事项说明
Jul 01 PHP
最准确的php截取字符串长度函数
Oct 29 PHP
CI框架的安全性分析
May 18 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
PHP调用接口用post方法传送json数据的实例
May 31 PHP
详解PHP实现支付宝小程序用户授权的工具类
Dec 25 PHP
PHP中有关长整数的一些操作教程
Sep 11 PHP
Jsonp劫持学习
Apr 01 PHP
PHP批量检测并去除文件BOM头代码实例
May 08 #PHP
php代码审计比较有意思的例子
May 07 #PHP
一个php短网址的生成代码(仿微博短网址)
May 07 #PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
May 07 #PHP
php对称加密算法示例
May 07 #PHP
php实现mysql封装类示例
May 07 #PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
May 07 #PHP
You might like
fgetcvs在linux的问题
2012/01/15 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
2013/06/03 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
php实现的二分查找算法示例
2017/06/20 PHP
php7 新增功能实例总结
2020/05/25 PHP
jquery 页面全选框实践代码
2010/04/02 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
JavaScript 基本概念
2015/01/20 Javascript
JavaScript中document.forms[0]与getElementByName区别
2015/01/21 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
JS解决position:sticky的兼容性问题的方法
2017/10/17 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
2020/12/10 Javascript
python中redis的安装和使用
2016/12/04 Python
在Python中使用AOP实现Redis缓存示例
2017/07/11 Python
详解Python用户登录接口的方法
2019/04/17 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
公司财务工作总结的自我评价
2013/11/23 职场文书
我的理想演讲稿
2014/04/30 职场文书
党课培训心得体会
2014/09/02 职场文书
2014年学前班工作总结
2014/12/08 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
少年犯观后感
2015/06/11 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python