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的FTP学习(二)[转自奥索]
Oct 09 PHP
基于mysql的论坛(1)
Oct 09 PHP
PHP 中文乱码解决办法总结分析
Jul 30 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
浅析Mysql 数据回滚错误的解决方法
Aug 05 PHP
php中JSON的使用与转换
Jan 14 PHP
PHP+MYSQL中文乱码问题
Jul 01 PHP
PHP使用token防止表单重复提交的方法
Apr 07 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
May 12 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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在Web开发领域的优势
2006/10/09 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
DOM下的节点属性和操作小结
2009/05/14 Javascript
HTML DOM的nodeType值介绍
2011/03/31 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
alert出数组中的随即值代码
2014/09/25 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
Node.JS利用PhantomJs抓取网页入门教程
2017/05/19 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
分享一个简单的python读写文件脚本
2017/11/25 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
Python单元测试unittest的具体使用示例
2018/12/17 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
python与js主要区别点总结
2020/09/13 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
Linux中如何用命令创建目录
2016/12/02 面试题
企业消防安全制度
2014/02/02 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
团干部培训班心得体会
2016/01/06 职场文书
严以用权学习心得体会
2016/01/12 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL