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

相关文章

php使用Cookie控制访问授权的方法

本文实例讲述了php使用Cookie控制访问授权的方法。分享给大家供大家参考。具体如下: 复制代码 代码如下:<?php     ...

PHP使用curl模拟post上传及接收文件的方法

本文实例讲述了PHP使用curl模拟post上传及接收文件的方法。分享给大家供大家参考,具体如下: public function Action_Upload(){ $th...

修改WordPress中文章编辑器的样式的方法详解

修改WordPress中文章编辑器的样式的方法详解

自定义文章编辑器的样式 每一个 WordPress 主题的文章样式都是不一样的,但是在使用后台的可视化编辑器编辑文章的时候,样式却都是一致的。 但是 WordPress 提供了一个在文章...

php从数组中随机选择若干不重复元素的方法

本文实例讲述了php从数组中随机选择若干不重复元素的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:<?php /*  * $array =...

PHP设计模式之结构模式的深入解析

结构模式之间有许多相似之处,因为在对象模型结构中存在几种关系:类之间的继承和实现,加上对象组合,这些是PHP设计模式的主要目的。 对象组合的最大优势在于可以在运行时基于配置建立起一个关系...