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