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实现链结人气统计
Oct 09 PHP
PHP通过header实现文本文件下载的代码
Aug 08 PHP
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
php页面消耗内存过大的处理办法
Mar 18 PHP
php启用zlib压缩文件的配置方法
Jun 12 PHP
PHP中常用的转义函数
Feb 28 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
Jul 04 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
Oct 27 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
Jan 12 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
laravel5.2实现区分前后台用户登录的方法
Jan 11 PHP
PHP Class SoapClient not found解决方法
Jan 20 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
jquery 防止表单重复提交代码
2010/01/21 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
微信小程序日历效果
2018/12/29 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
python模拟Django框架实例
2016/05/17 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
Python lambda表达式用法实例分析
2018/12/25 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
Matlab中plot基本用法的具体使用
2020/07/17 Python
解决python运行效率不高的问题
2020/07/20 Python
python能做哪些生活有趣的事情
2020/09/09 Python
Python实现疫情地图可视化
2021/02/05 Python
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
奥地利智能家居和智能生活网上商店:tink.at
2019/10/07 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
应用心理学个人的求职信
2013/12/08 职场文书
自荐书4要点
2014/01/25 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
实习证明格式范文
2014/10/14 职场文书
公司车队管理制度
2015/08/04 职场文书
环保建议书作文400字
2015/09/14 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
ant design vue的form表单取值方法
2022/06/01 Vue.js
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js