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

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

相关文章

php用正则判断是否为数字的方法

前两天朋友的一个网站上有人利用php注入提交flash游戏分数,后来找原因才发现是有一位参数没有做数字判断导致。 本来保存游戏分数是 game.php?ac=save&fgid=...

Memcached常用命令以及使用说明详解

Memcached常用命令以及使用说明详解

存储命令的格式:<command name> <key> <flags> <exptime> <bytes><data...

PHP防止表单重复提交的几种常用方法汇总

本文较为详细的汇总了PHP防止表单重复提交的几种常用方法,在PHP程序开发中有着很高的实用价值。具体方法如下: 1. 使用JS让按钮在点击一次后禁用(disable)。采用这种方法可以防...

PHP实现统计所有字符在字符串中出现次数的方法

PHP实现统计所有字符在字符串中出现次数的方法

本文实例讲述了PHP实现统计所有字符在字符串中出现次数的方法。分享给大家供大家参考,具体如下: 先来看看效果: 算法: 循环一次字符串(本例的$str),把出现过的字符串记录在一个数组...

PHP处理Oracle的CLOB实例

本文实例简述了PHP处理Oracle的CLOB的方法。分享给大家供大家参考。具体方法如下: 1. 写入数据   在使用PDO的预处理方法时,如果使用bindParam()等而不...