Php 多维数组函数don';不要停在;return";

Php 多维数组函数don';不要停在;return";,php,arrays,multidimensional-array,laravel-4,Php,Arrays,Multidimensional Array,Laravel 4,这是多维数组: $group_tree = Array ( [1] => Array ( [id] => 1 [children] => Array ( [6] => Array ( [id] => 6

这是多维数组:

$group_tree =  Array
   (
    [1] => Array
        (
            [id] => 1   
            [children] => Array
                (
                    [6] => Array
                        (
                            [id] => 6

                            [children] => Array
                                (
                                    [7] => Array
                                        (
                                            [id] => 7

                                            [children] => Array
                                                (
                                                )

                                        )


                                )

                        )

                )

        )


)
这是我使用的递归函数($group_id=6):


我在PHP5.4上使用了Laravel:你不应该中途返回函数,你应该将一个变量设置为你想要的值,比如
$return
,然后在函数的
返回$return

第二:当您递归调用sub_group_tree时,您没有指定包含结果的变量,因此该函数的返回是无意义的

Group::sub_group_tree( $value['children'] ,  $group_id  ) ;
试试这个:

public static function sub_group_tree( $group_tree , $group_id )
{ 

    ...
    if( count($value['children']) ) {
        return Group::sub_group_tree( $value['children'] ,  $group_id  ) ;
    }
    ...

}

问题是您没有从
if(count($value['children']){}

OO中的
sub_group_tree()
返回结果-至少需要
$this->
对此表示抱歉。我在没有OOP的本地服务器上进行了尝试。@t-coder谢谢,在第二次调用函数之前的“return”会改变一切
Group::sub_group_tree( $value['children'] ,  $group_id  ) ;
public static function sub_group_tree( $group_tree , $group_id )
{ 

    ...
    if( count($value['children']) ) {
        return Group::sub_group_tree( $value['children'] ,  $group_id  ) ;
    }
    ...

}