2013-11-09 47 views
0

我有一個控制器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

文件名:控制器/ ajax.php

行號:38

+1

如果條件顯然,當'$ CUST_ID <= 2','$ cust_array'從未定義。或者事先給它一個默認值,或者提供一個定義它的'else'分支。除此之外,爲什麼'$ this-> comission_model-> show_parent_id($ cust_id)'? '$ this-> show_parent_id($ cust_id)'不夠'? – geomagas

+0

'$ this-> comission_model-> show_parent_id($ cust_id)'從數據庫返回'parent_id'。 – Nitish

+0

我指的是'comission_model->'部分可能是多餘的? – geomagas

回答

1

這是因爲每當$cust_id <= 2然後$cust_array變量落在undefined.So只是初始化它befor這樣

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 
} 
+0

它返回傳遞'$ cust_id'的'parent_id'。結果的'parent id'不在數組中 – Nitish