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

yipeiwu_com6年前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)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程序设计有所帮助。

相关文章

jQuery+PHP+ajax实现微博加载更多内容列表功能

在一些微博网站上我们经常可以看到这样的应用,微博内容列表上并没有使用分页条,而是一次加载一定数量的记录显示在列表页,当用户浏览到列表页底部时,可以通过单击“查看更多”来加载更多记录。本文...

PHP 类商品秒杀计时实现代码

要求要有小时分钟秒的实时倒计时的显示,用户端修改日期时间不会影响到倒计时的正常显示(也就是以服务器时间为准)。 其实这和很多的考试等系统的时间限制功能同样的要求。 总不能用ajax每秒都...

PHP使用GD库输出汉字的方法【测试可用】

PHP使用GD库输出汉字的方法【测试可用】

本文实例讲述了PHP使用GD库输出汉字的方法。分享给大家供大家参考,具体如下: 一、原理 PHP中的GD库支持中文,但是必须要以UTF-8格式的参数来进行传递。下面先说一下汉字的UTF-...

PHP日期处理函数 整型日期格式

当我过去用ASP时解决这个问题相当简单,ASP有相应的函数DateDiff可以给出两个日期间间隔多少月、多少天和多少秒。当我搜寻完PHP手册后我发现PHP并没有类似的函数。 本文包含以下...

浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法

在php.ini文件中将 extension=php_mbstring.dll 移动到 extension=php_exif.dll 之前. 因为 exif 要调用 mbstring,...