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中进行身份认证
Oct 09 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
php eval函数一句话木马代码
May 21 PHP
php上传图片类及用法示例
May 11 PHP
php实现基于openssl的加密解密方法
Sep 30 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
什么是PHP7中的孤儿进程与僵尸进程
Apr 14 PHP
PHP面向对象程序设计重载(overloading)操作详解
Jun 13 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 04 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全局变量和类配合使用深刻理解
2013/06/05 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
2009/08/04 Javascript
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
js中运算符&& 和 || 的使用记录
2014/08/21 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
Python判断变量是否已经定义的方法
2014/08/18 Python
Python3中的2to3转换工具使用示例
2015/06/12 Python
python3实现暴力穷举博客园密码
2016/06/19 Python
一些常用的Python爬虫技巧汇总
2016/09/28 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
python中selenium库的基本使用详解
2020/07/31 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
党支部综合考察材料
2014/05/19 职场文书
单位在职证明书
2014/09/11 职场文书
单身证明范本
2015/06/15 职场文书
围城读书笔记
2015/06/26 职场文书
《为人民服务》教学反思
2016/02/20 职场文书
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python