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 ) ;
}
...
}