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解析字符串里所有URL地址的方法

本文实例讲述了php解析字符串里所有URL地址的方法。分享给大家供大家参考。具体如下: <?php // $html = the html on the page //...

php自定义分页类完整实例

本文实例讲述了php自定义分页类。分享给大家供大家参考,具体如下: <?php header("Content-type:text/html;Charset=utf-8...

php函数之子字符串替换&amp;#65279; str_replace

str_replace — 子字符串替换 [str_replace]mixed str_replace ( mixed $search , mixed...

谨慎使用PHP的引用原因分析

引用类型(Reference)在许多计算机语言中都被使用,而且是作为一个非常强大而实用的特性存在。它有类似指针(Pointer)的实现,却又有不同于指针的表现。例如C++的引用,可以让不...

PHP中json_encode、json_decode与serialize、unserialize的性能测试分析

于是便联想到PHP中的对象怎么样序列化存储性价比最高呢?接着想到了之前同事推荐的JSON编码和解码函数。 据他所说,json_encode和json_decode比内置的serializ...