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学习笔记 (1) 环境配置与代码调试
Jun 19 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 PHP
PHP+MySQL修改记录的方法
Jan 21 PHP
php+mysqli数据库连接的两种方式
Jan 28 PHP
ThinkPHP路由详解
Jul 27 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
Sep 23 PHP
php解析mht文件转换成html的实例
Mar 13 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
May 29 PHP
PDO::errorCode讲解
Jan 28 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 PHP
laravel多条件查询方法(and,or嵌套查询)
Oct 09 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
js+html5操作sqlite数据库的方法
2016/02/02 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
详解用JS添加和删除class类名
2019/03/25 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
python list排序的两种方法及实例讲解
2017/03/20 Python
Python正则表达式指南 推荐
2018/10/09 Python
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
班主任经验交流会主持词
2014/04/01 职场文书
机关办公室岗位职责
2014/04/16 职场文书
工程售后服务承诺书
2014/05/21 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
用人单位的规章制度,怎样制定才是有效的?
2019/07/09 职场文书