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

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

1
2
3
4
5
6
7
8
 function arrayToObject($e){    
     ifgettype($e)!='array' return;
     foreach($e as $k=>$v){
         ifgettype($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){
        ifgettype($v)=='resource' return;
        ifgettype($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
 }
posted @ 2015-06-20 16:22  Fitzi  阅读(562)  评论(0编辑  收藏  举报