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 curl_setopt()函数实例代码与参数分析
Jun 02 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
Jun 09 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
Mar 19 PHP
PHP编译安装时常见错误解决办法
May 28 PHP
PHP实现查询手机归属地的方法详解
Apr 28 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 PHP
快速解决PHP调用Word组件DCOM权限的问题
Dec 27 PHP
PHP迭代器接口Iterator用法分析
Dec 28 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
php实现商城购物车的思路和源码分析
Jul 23 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 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
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
javascript入门之window对象【新手必看】
2016/11/22 Javascript
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
详解webpack中的hash、chunkhash、contenthash区别
2018/01/05 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
2018/07/13 Javascript
Vue如何获取数据列表展示
2019/12/11 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
Python素数检测的方法
2015/05/11 Python
Python读取数据集并消除数据中的空行方法
2018/07/12 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
Python爬虫爬取糗事百科段子实例分享
2020/07/31 Python
python使用列表的最佳方案
2020/08/12 Python
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
企业演讲稿范文
2013/12/28 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
院党委组织查摆问题对照检查材料思想汇报2014
2014/10/08 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
结婚十年感言
2015/07/31 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA