PHP中把stdClass Object转array的几个方法_php实例

来源:脚本之家  责任编辑:小易  

stdClass在PHP5才开始被流行。而PHP stdClass也是zend的一个保留类。似乎没有其他作用。也几乎没有任何说明。或者,我们可以这么理解:PHP stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。凡时用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。说简单的一些,stdClass()就是一个程序员实现提前声明的类,也就是说我们可以随时让一个变量成为一个类对象的实例而不需要先声明类才能创建类对象的实例www.zgxue.com防采集请勿采集本网。

方法一:

在别的地方看到了答案,贴到这里让更多同学们学习一下吧 a=new \\stdClass();a->{0}=\"test;var_dump($a);object(stdClass)#1(1){[\"0\"]=>string(4)\"test\"} echo$a->{0};test

复制代码 代码如下:

这么基础的问题,实在不应该问。就是if else的问题。

//PHP stdClass Object转array 

楼上的不完整,虽说引号什么的都会直接输出,但是还是能直接使用变量到里面的, HEREDOC的规则: 以\"标记名\"开头 以\"标记名;结束,其中结束的那个标记要顶格写,即换行后直接写们不能有空格等

function object_array($array) { 

使用mysql_fetch_assoc函数,具体用法可以查看一下手册,还有几个相关的函数,我一般是用这个。list=array();声明一个数组用来存放数据 row 为取出来的一行的数据,把他放到$list里面 rs就是你从

    if(is_object($array)) { 

里面的method属性: 1、get,那么在PHP里面只能通过$_GET['string']或$_REQUEST['string']获取2、post,那么在PHP里面只能通过$_POST['string']或$_REQUEST['string']获取 3、不管是get还是post,

        $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里面的对象,它可以是对象中的方法或者属性。使用$obj->classname访问对应的stdclass内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • php通过array_shift()函数移除数组第一个元素的方法
  • php数组函数序列之array_unique() - 去除数组中重复的元素值
  • php中unset,array_splice删除数组中元素的区别
  • php数组函数序列之array_keys() - 获取数组键名
  • php array_flip() 删除数组重复元素
  • php array_filter除去数组中的空字符元素
  • php使用array_rand()函数从数组中随机选择一个或多个元素
  • php数组函数序列之array_key_exists() - 查找数组键名是否存在
  • php数组函数序列之array_pop() - 删除数组中的最后一个元素
  • php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
  • php array_shift()用法实例分析
  • thinkphp5邮件发送服务封装(可发附件)
  • thinkphp实现事务回滚示例代码
  • php实现rc4加密算法代码
  • zend optimizer在wamp的基础上安装图文教程
  • yii2前后台分离及migrate使用(七)
  • laravel批量生成假数据的方法
  • php独立session数据库存储操作类分享
  • yii2框架中excel表格导出的方法详解
  • thinkphp中memcache的用法实例
  • thinkphp实现memcache分布式缓存功能
  • 什么是PHP中的stdclass
  • php中 stdclass object是什么
  • PHP中 ->和=>的区别是什么
  • 不知道为什么现在没心思学习 我学的是PHP o(︶︿︶)o 唉 我16岁是不是我的年龄问题啊
  • php中怎样访问对象中名字叫0的成员?
  • 求高手用PHP来做一下这道题顺便讲解一下O(∩
  • php中heredoc使用的例子,最好能运行的,O(∩
  • php stdclass 怎么转换为数组并遍历出来
  • 一个关于PHP ,shopNCo2o的问题—?
  • php是干什么用的??
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全php基础php技巧php实例php文摘php模板首页php编程php实例php通过array_shift()函数移除数组第一个元素的方法php数组函数序列之array_unique() - 去除数组中重复的元素值php中unset,array_splice删除数组中元素的区别php数组函数序列之array_keys() - 获取数组键名php array_flip() 删除数组重复元素php array_filter除去数组中的空字符元素php使用array_rand()函数从数组中随机选择一个或多个元素php数组函数序列之array_key_exists() - 查找数组键名是否存在php数组函数序列之array_pop() - 删除数组中的最后一个元素php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍php array_shift()用法实例分析thinkphp5邮件发送服务封装(可发附件)thinkphp实现事务回滚示例代码php实现rc4加密算法代码zend optimizer在wamp的基础上安装图文教程yii2前后台分离及migrate使用(七)laravel批量生成假数据的方法php独立session数据库存储操作类分享yii2框架中excel表格导出的方法详解thinkphp中memcache的用法实例thinkphp实现memcache分布式缓存功能php获取数组长度的方法(有实例)微信公众平台实现获取用户openid教你如何使用php session使用php生成二维码的两种方法(带php发送get、post请求的6种方法简php中把stdclass object转array的微信公众平台网页授权获取用户基laravel框架数据库curd操作、连贯php字符串的连接的简单实例php删除数组中空值的方法介绍php实现转盘抽奖算法分享如何通过view::first使用laravel blade的php中通过getopt解析gnu c风格命令行选项thinkphp通过一个入口文件如何区分移动端php抓取、分析国内视频网站的视频信息工具php操作mongodb基础教程(连接、新增、修php代码实现爬虫记录——超管用使用php similar text计算两个字符串相似用php读取超大文件的实例代码thinkphp使用post方式查询时分页失效的解
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved