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 Class&Object -- 解析PHP实现二叉树
Jun 25 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
ThinkPHP3.2.2的插件控制器功能简述
Jul 09 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
ThinkPHP框架设计及扩展详解
Nov 25 PHP
php将字符串全部转换成大写或者小写的方法
Mar 17 PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 PHP
php将html转成wml的WAP标记语言实例
Jul 08 PHP
反射调用private方法实践(php、java)
Dec 21 PHP
PHP 序列化和反序列化函数实例详解
Jul 18 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 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
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
php单一接口的实现方法
2015/06/20 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
prototype Element学习笔记(篇一)
2008/10/26 Javascript
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
tensorflow识别自己手写数字
2018/03/14 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
python实现猜数字小游戏
2020/03/24 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
python 内置模块详解
2019/01/01 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
django修改models重建数据库的操作
2020/03/31 Python
用python制作个音乐下载器
2021/01/30 Python
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
德国购买门票网站:ADticket.de
2019/10/31 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
仓库理货员岗位职责
2013/12/18 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
捐赠仪式主持词
2014/03/19 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
MySQL 开窗函数
2022/02/15 MySQL