php函数返回return语句的空白值,并在echo上打印

时间:2014-01-27 10:33:16

标签: php

我为目录中的搜索恢复文件创建此函数,如果恢复可用则函数返回完整路径,问题是函数返回什么,如果我使用“返回”,如果我使用“echo”然后它将打印正确的路径

 function search_resume($resume,$dir="uploads/resumes")
{
    $root = scandir($dir);
    foreach($root as $value)
    {
        /* echo $value."<br/>"; */
        if($value === '.' || $value === '..') {continue;} 
        if(is_file("$dir/$value"))
        {
            if($value==$resume)
            {
                $path="$dir/$value";
                return $path;
            }
        }
        else
        {
            search_resume($resume,"$dir/$value");
        }
    }
}

1 个答案:

答案 0 :(得分:1)

递归函数的一个非常典型的基本问题:您还需要return递归调用,它们不会自己return

    ...
    else {
        $path = search_resume($resume,"$dir/$value");
        if ($path) {
            return $path;
        }
    }