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 pcntl_fork和pcntl_fork 的用法
Apr 13 PHP
php 操作excel文件的方法小结
Dec 31 PHP
PHP取进制余数函数代码
Jan 19 PHP
PHP跳转页面的几种实现方法详解
Jun 08 PHP
PHP代码优化的53个细节
Mar 03 PHP
基于PHP的简单采集数据入库程序
Jul 30 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
PHP中的魔术方法总结和使用实例
May 11 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
Oct 22 PHP
php实现将HTML页面转换成word并且保存的方法
Oct 14 PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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
在PWS上安装PHP4.0正式版
2006/10/09 PHP
dedecms系统常用术语汇总
2007/04/03 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
php计算十二星座的函数代码
2012/08/21 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
php共享内存段示例分享
2014/01/20 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
PHP生成唯一订单号
2015/07/05 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
全面理解闭包机制
2016/07/11 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
基于python 取余问题(%)详解
2020/06/03 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
体育教育专业毕业生自荐信
2013/11/15 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
现场活动策划方案
2014/08/22 职场文书
运动会演讲稿300字
2014/08/25 职场文书
会员卡清退活动总结
2014/08/27 职场文书
教师业务学习材料
2014/12/16 职场文书
孟佩杰观后感
2015/06/17 职场文书
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers