php函数在return语句中返回空白值,并在echo上直接打印
我创建这个函数用于从目录中搜索简历文件,如果简历可用,则函数返回完整路径,问题是如果我使用“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/>"; */
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()
返回值。