递归函数结果为数组未显示所需结果

时间:2013-11-09 10:17:57

标签: php ajax arrays recursion codeigniter-2

我有一个控制器ajax,其中存在两个函数:

  function customer_comission()
  {
            ---------------------------
            ---------------------------
        $arr = $this->show_parent_id( $child_node );

        var_dump($arr);
            ----------------------------
            ---------------
  }

function show_parent_id( $cust_id ){

    if( $cust_id > 2 ):
        $cust_id2 = $this->comission_model->show_parent_id( $cust_id );
        $cust_array[] = $cust_id2;
        //echo $this->show_parent_id( $cust_id2 ); 
         $this->show_parent_id( $cust_id2 );  
    endif;

    return $cust_array; // <-- This is Line 38
}

所以我想要显示的是parent_id层次结构的$cust_id数组。 echo $this->show_parent_id( $cust_id2 );打印出所需的结果,但是当我尝试将它们添加到数组中时,我得到错误显示:

  

遇到PHP错误

     

严重性:注意

     

消息:未定义的变量:cust_array

     

文件名:controllers / ajax.php

     

行号:38

1 个答案:

答案 0 :(得分:1)

那是因为每当$cust_id <= 2然后$cust_array变量未定义时。所以只是初始化它就像这样的if条件

function show_parent_id( $cust_id ){
    $cust_array = array();
    if( $cust_id > 2 ){
        $cust_id2 = $this->comission_model->show_parent_id( $cust_id );
        $cust_array[] = $cust_id2;
        //echo $this->show_parent_id( $cust_id2 ); 
         $this->show_parent_id( $cust_id2 );  
    }

    return $cust_array; // <-- This is Line 38
}