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 相关文章推荐
关于文本留言本的分页代码
Oct 09 PHP
第十二节--类的自动加载
Nov 16 PHP
初学CAKEPHP 基础教程
Nov 02 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
php实现网站留言板功能
Nov 04 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
PHP二进制与字符串之间的相互转换教程
Oct 14 PHP
PHP自定义函数获取汉字首字母的方法
Dec 01 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 PHP
PHP实现SMTP邮件的发送实例
Sep 27 PHP
PHP使用SOAP调用API操作示例
Dec 25 PHP
Yii框架响应组件用法实例分析
Sep 04 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
php GeoIP的使用教程
2011/03/09 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
php 二维数组时间排序实现代码
2016/11/19 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
2010/12/30 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
Jquery 自定义动画概述及示例
2013/03/29 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
解决layer.msg 不居中 ifram中的问题
2019/09/05 Javascript
Node 代理访问的实现
2019/09/19 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
在Django中编写模版节点及注册标签的方法
2015/07/20 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
python获取地震信息 微信实时推送
2019/06/18 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
旧时光糖果:Old Time Candy
2018/02/05 全球购物
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
工商管理实习自我鉴定
2013/09/28 职场文书
见习期自我鉴定
2013/11/07 职场文书
工程师岗位职责规定
2014/02/26 职场文书
活动倡议书范文
2014/05/13 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书