Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php函数在return语句中返回空白值,并在echo上直接打印_Php - Fatal编程技术网

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

php函数在return语句中返回空白值,并在echo上直接打印,php,Php,我创建这个函数用于从目录中搜索简历文件,如果简历可用,则函数返回完整路径,问题是如果我使用“return”,则函数不返回任何内容,如果我使用“echo”,则它将打印正确的路径 function search_resume($resume,$dir="uploads/resumes") { $root = scandir($dir); foreach($root as $value) { /* echo $value."<br/>"; */

我创建这个函数用于从目录中搜索简历文件,如果简历可用,则函数返回完整路径,问题是如果我使用“return”,则函数不返回任何内容,如果我使用“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");
        }
    }
}
function search\u resume($resume,$dir=“uploads/resume”)
{
$root=scandir($dir);
foreach($root作为$value)
{
/*回显$value.“
”*/ 如果($value=='.| |$value==='..'){continue;} 如果(是_文件(“$dir/$value”)) { 如果($value==$resume) { $path=“$dir/$value”; 返回$path; } } 其他的 { 搜索简历($resume,$dir/$value”); } } }
递归函数的一个非常典型的基本问题是:您还需要
返回
递归调用,它们本身不会
返回

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

这个函数有什么意义?如果您知道要在哪个目录下查找,并且知道文件名,那么为什么需要此递归函数来扫描N个级别的目录?您正在忽略
search\u resume()
返回值。