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 相关文章推荐
ionCube 一款类似zend的PHP加密/解密工具
Jul 25 PHP
php中stream(流)的用法
Mar 25 PHP
ThinkPHP之foreach标签使用概述
Jun 30 PHP
PHP中文编码小技巧
Dec 25 PHP
PHP单例模式详细介绍
Jul 01 PHP
PHP中strpos、strstr和stripos、stristr函数分析
Jun 11 PHP
PHP中explode函数和split函数的区别小结
Aug 24 PHP
PHP快速排序quicksort实例详解
Sep 28 PHP
php版微信js-sdk支付接口类用法示例
Oct 12 PHP
magento后台无法登录解决办法的两种方法
Dec 09 PHP
PHP最常用的正则表达式
Feb 13 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
Jun 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
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
Bootstrap插件全集
2016/07/18 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
pytorch torch.expand和torch.repeat的区别详解
2019/11/05 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
财务会计专业推荐信
2013/11/30 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
初中教师个人工作总结
2015/02/10 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
2015年预算员工作总结
2015/05/14 职场文书
跑出一片天观后感
2015/06/08 职场文书
暖春观后感
2015/06/08 职场文书
工作年限证明模板
2015/06/15 职场文书
任命书格式模板
2015/09/22 职场文书