PHP数组与对象之间用递归转换

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

?
1
2
3
4
5
6
7
8
  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 ;
  }
?
1
2
3
4
5
6
7
8
9
  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 ;
  }
1
2
3
4
5
6
7
8
  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)