PHP数组与对象之间使用递归实现转换的方法


Posted in PHP onJune 24, 2015

本文实例讲述了PHP数组与对象之间使用递归实现转换的方法。分享给大家供大家参考。具体实现方法如下:

这里涉及一些简单的对象与数组的相互转换的问题,采用递归写了两个方法如下:

function arrayToObject($e){  
   if( gettype($e)!='array' ) return;
   foreach($e as $k=>$v){
     if( gettype($v)=='array' || getType($v)=='object' )
        $e[$k]=(object)arrayToObject($v);
   }
    return (object)$e;
}
function objectToArray($e){
  $e=(array)$e;
  foreach($e as $k=>$v){
    if( gettype($v)=='resource' ) return;
    if( gettype($v)=='object' || gettype($v)=='array' )
      $e[$k]=(array)objectToArray($v);
  }
  return $e;
}
function object_to_array($e) { 
  $_arr = is_object($e) ? get_object_vars($e) : $e; 
  foreach ($_arr as $key => $val) { 
    $val = (is_array($val) || is_object($val)) ? object_to_array($val) : $val; 
    $arr[$key] = $val; 
  } 
  return $arr; 
}

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
二招解决php乱码问题
Mar 25 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
PHP的autoload机制的实现解析
Sep 15 PHP
使用PHP实现蜘蛛访问日志统计
Jul 05 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
PHP源码分析之变量的存储过程分解
Jul 03 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
Dec 01 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
php实现的日历程序
Jun 18 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
Aug 15 PHP
PHPMAILER实现PHP发邮件功能
Apr 18 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
php计算多维数组中所有值总和的方法
Jun 24 #PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 #PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
Jun 24 #PHP
php异常处理方法实例汇总
Jun 24 #PHP
php数组索引与键值操作技巧实例分析
Jun 24 #PHP
PHP实现在线阅读PDF文件的方法
Jun 23 #PHP
php中header设置常见文件类型的content-type
Jun 23 #PHP
You might like
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
php Static关键字实用方法
2010/06/04 PHP
用javascript实现画板的代码
2007/09/05 Javascript
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
谈谈JavaScript类型系统之Math
2016/01/06 Javascript
jquery中的常见问题及快速解决方法小结
2016/06/14 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
详解Vue-基本标签和自定义控件
2017/03/24 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
原生js实现随机点餐效果
2019/12/10 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
原生js实现购物车功能
2020/09/23 Javascript
使用Python写个小监控
2016/01/27 Python
Django进阶之CSRF的解决
2018/08/01 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
远程调用的原理
2014/07/05 面试题
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
优良学风班申请材料
2014/02/13 职场文书
学校隐患排查制度
2015/08/05 职场文书
初中生活随笔
2015/08/15 职场文书
如何在Python中妥善使用进度条详解
2022/04/05 Python