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作为网站开发语言的原因分享
Jan 03 PHP
基于php无限分类的深入理解
Jun 02 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
实用的简单PHP分页集合包括使用方法
Oct 21 PHP
php实现的漂亮分页方法
Apr 17 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
WordPress网站性能优化指南
Nov 18 PHP
学习php设计模式 php实现策略模式(strategy)
Dec 07 PHP
php魔术方法功能与用法实例分析
Oct 19 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
Jul 18 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
Feb 07 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
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
php时间戳转换代码详解
2019/08/04 PHP
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
Angular 项目实现国际化的方法
2018/01/08 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
RequireJS用法简单示例
2018/08/20 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
Win7上搭建Cocos2d-x 3.1.1开发环境
2014/07/03 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
python版简单工厂模式
2017/10/16 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
python pytest进阶之fixture详解
2019/06/27 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
顶撞领导检讨书
2014/01/29 职场文书
教师求职信范文
2014/05/24 职场文书
领导干部失职检讨书
2015/05/05 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
2015年教师节主持词
2015/07/03 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
SQLServer之常用函数总结详解
2021/08/30 SQL Server