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脚本的10个技巧(2)
Oct 09 PHP
APMServ使用说明
Oct 23 PHP
PHP中的类-什么叫类
Nov 20 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
基于递归实现的php树形菜单代码
Nov 19 PHP
thinkphp的静态缓存用法分析
Nov 29 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
Jul 06 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
PHP用PDO如何封装简单易用的DB类详解
Jul 30 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 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中实现记住密码自动登录的代码
2011/03/02 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
javascript 树形导航菜单实例代码
2013/08/13 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
javascript中错误使用var造成undefined
2016/03/31 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
vue组件开发之tab切换组件使用详解
2020/08/21 Javascript
Python greenlet实现原理和使用示例
2014/09/24 Python
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
基于Django的python验证码(实例讲解)
2017/10/23 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
Python编写单元测试代码实例
2020/09/10 Python
浅析rem和em和px vh vw和% 移动端长度单位
2016/04/28 HTML / CSS
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
技术经理的自我评价范文
2013/12/03 职场文书
《画》教学反思
2014/04/14 职场文书
工作评语大全
2014/04/26 职场文书
店长岗位职责
2015/02/11 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
校园之声广播稿
2015/08/18 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
python基础之匿名函数详解
2021/04/21 Python
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
Python 数据可视化之Bokeh详解
2021/11/02 Python