日期:2014-05-17  浏览次数:20411 次

请高手帮忙修改一下递归函数,让其有返回值
目前我有一递归函数,其作用是echo出一多维数组中的ID值
echo到页面上显示为“1,2,3,4,5...”
PHP code
function arr_fun($arr){  
      if(is_array($arr)){  
        foreach($arr as $v){  
           if(is_array($v)){  
           arr_fun($v);  
           }else{  
                echo $arr[id].",";
                break;
           } 
        }  
      }else{  
           echo $arr.",";  
      }
  } 


由于我需要利用echo出来的这串ID字符串
尝试赋值给$s不成功 $s=arr_fun($array_menu); 备注:$array_menu是一动态多维数组,维数是动态变化的
所以我想应该是上述方法没有返回值,所以没法儿赋值
希望前辈赐教,帮我修改一下,怎么才能让其返回值也是“1,2,3,4...”呢


------解决方案--------------------
PHP code
function arr_fun($arr){  
      $r = '';
      if(is_array($arr)){  
        foreach($arr as $v){  
           if(is_array($v)){  
           $r .= arr_fun($v);  
           }else{  
                $r .= $arr[id].",";
                break;
           } 
        }  
      }else{  
           $r .= $arr.",";  
      }
      return $r;
  }