本文实例讲述了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程序设计有所帮助。