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
NO3第三帝国留言簿制作过程
Oct 09 PHP
非常实用的php弹出错误警告函数扩展性强
Jan 17 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
php查询mysql数据库并将结果保存到数组的方法
Mar 18 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
Jul 14 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
Mar 16 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
Jun 02 PHP
PHP正则匹配到2个字符串之间的内容方法
Dec 24 PHP
PHP filesize函数用法浅析
Feb 15 PHP
PHP+RabbitMQ实现消息队列的完整代码
Mar 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
pw的一个放后门的方法分析
2007/10/08 PHP
利用php生成验证码
2017/02/23 PHP
js技巧--转义符"\"的妙用
2007/01/09 Javascript
语义化 H1 标签
2008/01/14 Javascript
js中cookie的使用详细分析
2008/05/28 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
深入解读JavaScript中的Iterator和for-of循环
2015/07/28 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
[55:35]VGJ.S vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python递归遍历列表及输出的实现方法
2015/05/19 Python
Python Flask-web表单使用详解
2017/11/18 Python
python清除字符串中间空格的实例讲解
2018/05/11 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
详解python polyscope库的安装和例程
2020/11/13 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
你对IPv6了解程度
2016/02/09 面试题
实习销售业务员自我鉴定
2013/09/21 职场文书
求职信模版
2013/11/30 职场文书
工地例会施工汇报材料
2014/08/22 职场文书
高三教师工作总结2015
2015/07/21 职场文书