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中iconv函数使用方法
May 24 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
如何设置mysql允许外网访问
Jun 04 PHP
thinkphp的CURD和查询方式介绍
Dec 19 PHP
PHP数据库连接mysql与mysqli对比分析
Jan 04 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
适合PHP初学者阅读的4本经典书籍
Sep 23 PHP
PHP实现上传图片到 zimg 服务器
Oct 19 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
Laravel5.4框架使用socialite实现github登录的方法
Mar 20 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 PHP
一文搞懂PHP中的抽象类和接口
May 25 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
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
jquery 年会抽奖程序
2011/12/22 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
vue实现todolist单页面应用
2017/04/11 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
python批量爬取下载抖音视频
2019/06/17 Python
python hough变换检测直线的实现方法
2019/07/12 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
人事专员的职责
2014/02/26 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
检讨书范文大全
2015/05/07 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
校园运动会广播稿
2015/08/19 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
使用GO语言实现Mysql数据库CURD的简单示例
2021/08/07 Golang