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 相关文章推荐
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
Oct 09 PHP
mysql中存储过程、函数的一些问题
Feb 14 PHP
php中文字符截取防乱码
Mar 28 PHP
一步一步学习PHP(3) php 函数
Feb 15 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
May 09 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
php实现网站留言板功能
Nov 04 PHP
Zend Framework教程之模型Model基本规则和使用方法
Mar 04 PHP
php网页版聊天软件实现代码
Aug 12 PHP
PHP中new static()与new self()的比较
Aug 19 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
php实现构建排除当前元素的乘积数组方法
Oct 06 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函数之子字符串替换 str_replace
2011/03/23 PHP
PHP编写RESTful接口
2016/02/23 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
jquery 可排列的表实现代码
2009/11/13 Javascript
基于jQuery的表格操作插件
2010/04/22 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
Javascript中3种实现继承的方法和代码实例
2014/08/12 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
简单了解OpenCV是个什么东西
2017/11/10 Python
python中的常量和变量代码详解
2018/07/25 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
python 5个顶级异步框架推荐
2020/09/09 Python
html5音频_动力节点Java学院整理
2018/08/22 HTML / CSS
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
设置器与访问器的定义以及各自特点
2016/01/08 面试题
大学生专科毕业生自我评价
2013/11/17 职场文书
暑期实践思想汇报
2014/01/06 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书
2014年体育工作总结
2014/11/24 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
2015年女生节活动总结
2015/02/27 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
机器人总动员观后感
2015/06/09 职场文书
小学运动会加油词
2015/07/18 职场文书
基于Python实现流星雨效果的绘制
2022/03/18 Python