解析PHP将对象转换成数组的方法(兼容多维数组类型)

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

 /**
  * @author 【宜配屋www.yipeiwu.com】
  * @date 2013-6-21
  * @todo 将对象转换成数组
  * @param unknown_type $obj
  * @return unknown
  */
 function object_to_array($obj){
  $_arr = is_object($obj) ? get_object_vars($obj) :$obj;
  foreach ($_arr as $key=>$val){
   $val = (is_array($val) || is_object($val)) ? $this->object_to_array($val):$val;
   $arr[$key] = $val;
  }
  return $arr;
 }

这样就可以了。

相关文章

PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例

本文实例讲述了PHP模拟一般面向对象语言中的方法重载(overload)。分享给大家供大家参考,具体如下: 在一般的面向对象设计语言(如C++,Java)中的方法重载就是定义相同的方法名...

PHP使用new StdClass()创建空对象的方法分析

本文实例讲述了PHP使用new StdClass()创建空对象的方法。分享给大家供大家参考,具体如下: PHP可以用 $object = new StdClass(); 创建一个没有成员...

thinkphp微信开发(消息加密解密)

使用thinkphp官方的WeChat包,使用不同模式可以成功,但是安全模式就是不行,现将分析解决结果做下记录。 分析问题:      ...

php Try Catch异常测试

页面try catch里使用c的 c1,c1里使用b的b1,b1里使用a的a1。 默认的是:a1里抛出异常,b1里捕获a1的异常,然后再把刚才的异常抛出,c1捕获,然后抛出,最后页面捕获...

Zend Framework中的简单工厂模式 图文

Zend Framework中的简单工厂模式 图文

前段时间用来ZF,把他当黑盒感觉不是很好,一直有看其源码的冲动,但是。。。如果一点一点点看的话,挑战确实有些大了。某天又然后想到好久没复习设计模式了。综合一下,复习一个设计模式之后在ZF...