2017-04-14 55 views
1

如何獲取此遞歸函數中的最後一個parrNum如何從此函數返回上次更改parrNum

function findCountOfParents($arrayName,$case,$parrNum=0) 
{ 
    foreach ($arrayName as $key) 
    { 

     if ($case==$key['ID'] && $key['parent_id']!=0) 
     { 
      $p_id = $key['parent_id']; 
      $parrNum ++; 
      findCountOfParents($arrayName,$p_id,$parrNum); 
     } 
    } 
    return $parrNum; 
} 

回答

1

您需要將遞歸調用的返回值分配回變量。

function findCountOfParents($arrayName,$case,$parrNum=0) 
{ 
    foreach ($arrayName as $key) 
    { 

     if ($case==$key['ID'] && $key['parent_id']!=0) 
     { 
      $p_id = $key['parent_id']; 
      $parrNum = findCountOfParents($arrayName,$p_id,$parrNum + 1); 
     } 
    } 
    return $parrNum; 
}