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生成UTF8文件的方法
May 15 PHP
PHP详解ASCII码对照表与字符转换
Dec 05 PHP
基于PHP开发中的安全防范知识详解
Jun 06 PHP
smarty模板引擎之内建函数用法
Mar 30 PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 PHP
PHP简单创建压缩图的方法
Aug 24 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
Aug 29 PHP
thinkphp跨库操作的简单代码实例
Sep 22 PHP
详解php框架Yaf路由重写
Jun 20 PHP
Laravel中的Blade模板引擎示例详解
Oct 10 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 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
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
JQuery与iframe交互实现代码
2009/12/24 Javascript
JavaScript Event学习第十章 一些可替换的事件对
2010/02/10 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
Python中super()函数简介及用法分享
2016/07/11 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
Python IDLE入门简介
2017/12/08 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
Python API len函数操作过程解析
2020/03/05 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
学习十八届三中全会精神实施方案
2014/02/17 职场文书
高考标语大全
2014/06/05 职场文书
道歉的话语大全
2015/05/12 职场文书
自信主题班会
2015/08/14 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript