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 smarty函数扩展
Mar 15 PHP
php知道与问问的采集插件代码
Oct 12 PHP
PHP防止跨域提交表单
Nov 01 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 PHP
PHP中list方法用法示例
Dec 01 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
May 12 PHP
php源码的使用方法讲解
Sep 26 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
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
JavaScript 动态改变图片大小
2009/06/11 Javascript
js 设置选中行的样式的实现代码
2010/05/24 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
整理Python中的赋值运算符
2015/05/13 Python
python批量提取word内信息
2015/08/09 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
python递归实现快速排序
2018/08/18 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
python__name__原理及用法详解
2019/11/02 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
Python中实现输入一个整数的案例
2020/05/03 Python
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
美国乡村商店:Plow & Hearth
2016/09/12 全球购物
应届生法律求职信
2013/10/22 职场文书
生产管理的三大手法
2013/11/11 职场文书
史学专业毕业生求职信
2014/05/09 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android