PHP数组与对象之间使用递归实现转换的方法

   本文实例讲述了PHP数组与对象之间使用递归实现转换的方法。分享给大家供大家参考。具体实现方法如下:

  这里涉及一些简单的对象与数组的相互转换的问题,采用递归写了两个方法如下:

  ?

  1

  2

  3

  4

  5

  6

  7

  8function 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;

  }

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9function 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;

  }

  ?

  1

  2

  3

  4

  5

  6

  7

  8function 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程序设计有所帮助。

时间: 2024-09-19 09:28:00

PHP数组与对象之间使用递归实现转换的方法的相关文章

PHP数组与对象之间使用递归实现转换的方法_php技巧

本文实例讲述了PHP数组与对象之间使用递归实现转换的方法.分享给大家供大家参考.具体实现方法如下: 这里涉及一些简单的对象与数组的相互转换的问题,采用递归写了两个方法如下: function arrayToObject($e){ if( gettype($e)!='array' ) return; foreach($e as $k=>$v){ if( gettype($v)=='array' || getType($v)=='object' ) $e[$k]=(object)arrayToObj

java byte数组与int,long,short,byte的转换实现方法_java

实例如下: public class DataTypeChangeHelper { /** * 将一个单字节的byte转换成32位的int * * @param b * byte * @return convert result */ public static int unsignedByteToInt(byte b) { return (int) b & 0xFF; } /** * 将一个单字节的Byte转换成十六进制的数 * * @param b * byte * @return conv

js一维数组、多维数组和对象的混合使用方法_javascript技巧

这篇文章的主要目的是讲解JavaScript数组和对象的混合使用,由于JS的弱检查特性,因此在JS数组中可以同时存储不同类型的变量,比如你可以把数字.字符串.字符.对象等内容放在同一个数组中.对象也可以做同样的事情,区别是对象可以指定对象里每一个成员的别名,这样在编程的时候数据更易读,比如: var arr1 = ["飞鱼", 25, 172, "江苏"]; var person = {name:"飞鱼",age: 25, height:172,

jQuery Data Linking 对象与对象之间属性的关联

支持客户端的数据绑定 ASP.NET团队最近还向jQuery社区提交了被称为"data linking"的技术,Data Linking可以帮助你实现对象与对象之间属性的关联--当其中一方发生改变时另一方也随之改变.方便的实现页面中展现的数据与实际数据对象中的数据实时同步. data linking与data-binding的理论很相近(我们之所以使用data linking这个名称是因为jQuery中已经包含bing()方法,尽管这个方法与数据绑定没有什么关系...). 现在来看看d

JSON字符串和对象之间的转换详解

  这篇文章主要介绍了JSON字符串和对象之间的转换详解,需要的朋友可以参考下 JSON(JavaScript Object Notation) 是JavaScript编程语言的一个子集.正因JSON是JavaScript的一个子集,所以它可清晰的运用于此语言中. eval函数 JSON文本转换为对象 为了将JSON文本转换为对象,可以使用eval函数.eval函数调用JavaScript编辑器.由于JSON是JavaScript的子集,因此编译器将正确的解析文本并产生对象结构.文本必须括在括号

jQuery对象与DOM对象之间的相互转换

 本文主要给大家介绍的是jQuery对象与DOM对象之间的相互转换的方法和示例,非常实用,这里推荐给有需要的小伙伴参考下.     1.jQuery对象转换成DOM对象 jQuery对象不能使用DOM中的方法,但如果对jQuery对象所提供的方法不熟悉,或者jQuery没有封装想要的方法,不得不使用DOM对象的时候,有以下两种处理方法: 1.jQuery对象是一个类似数组的对象,可以通过[index]的方法得到相应的DOM对象:   代码如下: var $cr=$("#cr") //j

jQuery对象和DOM对象之间相互转换的方法介绍

 这篇文章主要介绍了jQuery对象和DOM对象之间相互转换的方法介绍,本文讲解了jQuery对象转成DOM对象.DOM对象转换成jQuery对象方法,需要的朋友可以参考下     在讨论jQuery对象和DOM对象的相互交换之前,先约定好定义变量的风格.如果获取的对象是jQuery对象,那么在变量前加上$,例如:   代码如下: var $variable = jQuery对象; 如果获取的是DOM对象,则定义如下: 代码如下: var variable = DOM对象: 1.jQuery对象

jQuery Data Linking 对象与对象之间属性的关联_实用技巧

支持客户端的数据绑定 ASP.NET团队最近还向jQuery社区提交了被称为"data linking"的技术,Data Linking可以帮助你实现对象与对象之间属性的关联--当其中一方发生改变时另一方也随之改变.方便的实现页面中展现的数据与实际数据对象中的数据实时同步. data linking与data-binding的理论很相近(我们之所以使用data linking这个名称是因为jQuery中已经包含bing()方法,尽管这个方法与数据绑定没有什么关系...). 现在来看看d

JavaScript每天必学之数组和对象部分_javascript技巧

对象部分  Object类型  Object 是一个无序的集合,可以存放任意类型对象,所有其他对象都继承自这个对象.  创建Object类型有两种,一种是使用new运算符,一种是字面量表示法.  1.使用new运算符创建Object var obj = new Object();//注意大写,也可以直接写成Object() 注意,通过new Object() 的写法生成新对象,与字面量的写法 obj = {} 是等价的.  2. 使用字面量方式创建: var obj = { name : 'tr