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 相关文章推荐
一个可查询所有表的“通用”查询分页类
Oct 09 PHP
搜索和替换文件或目录的一个好类--很实用
Oct 09 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
Aug 09 PHP
基于php冒泡排序算法的深入理解
Jun 09 PHP
php Xdebug的安装与使用详解
Jun 20 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
php中函数前加&符号的作用分解
Jul 08 PHP
php导入excel文件到mysql数据库的方法
Jan 14 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
PHP笛卡尔积实现算法示例
Jul 30 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
Feb 12 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 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(3)
2006/10/09 PHP
php生成EXCEL的东东
2006/10/09 PHP
PHP STRING 陷阱原理说明
2010/07/24 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
Thinkphp5框架使用validate实现验证功能的方法
2019/08/27 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
JS 的应用开发初探(mootools)
2009/12/19 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
2016/11/16 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
Python科学计算包numpy用法实例详解
2018/02/08 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
Lombok插件安装(IDEA)及配置jar包使用详解
2020/11/04 Python
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
这段代码难道不该打印出56吗
2013/02/27 面试题
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
公共事业管理本科生求职信
2013/10/07 职场文书
高一自我鉴定
2013/12/17 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
淘宝好评语大全
2014/05/05 职场文书
垃圾桶标语
2014/06/24 职场文书
出生医学证明书
2014/09/15 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书