Php 为什么在函数末尾使用return而不返回任何值

Php 为什么在函数末尾使用return而不返回任何值,php,function,Php,Function,我对return语句感到困惑,例如,为什么我们需要在函数末尾使用return function test($a){blah; blahh ; blahhh; blahhhhh; return;} 这里退货有什么用?函数在所有语句执行时自动终止,我认为这里没有return的用法,但是这张图片让我感到困惑 所以 有人能解释一下return(当我们

我对return语句感到困惑,例如,为什么我们需要在函数末尾使用return

 function test($a){blah;
                   blahh ;
                   blahhh;
                  blahhhhh;
                    return;}
这里退货有什么用?函数在所有语句执行时自动终止,我认为这里没有return的用法,但是这张图片让我感到困惑

所以
有人能解释一下return(当我们不返回任何值时)的用法吗

return
中断函数,但由于它是该函数中的最后一条语句,因此在没有该语句的情况下,您仍可以中断函数

return
将其参数传递回调用者,但由于它没有参数,因此没有要传递的内容

所以它什么也不做



不要认为你偶然发现的每一段代码都有其用途。它可能是早期版本的代码中的遗留部分,在早期版本中,其他内容(赋予它意义)已被删除。可能是有人写的。它可能是未来开发的占位符。

如果您希望函数返回值,那么它很有用

i、 e

因此,考虑到以下几点:

$WhatPie = FavouritePie('John');

echo $WhatPie;
会给
apple

在一种非常简单的形式中,如果您希望函数返回某些内容,即处理它并将其传递回,那么它非常有用。如果没有返回,您将只是在执行一个带有死胡同的函数

进一步阅读:

要为答案添加更多特定的上下文,如果问题归结为“我是否需要在函数末尾添加一个
return
,那么答案是否定的。但这并不意味着正确的答案总是忽略你的
return

这取决于您想用
$a
做什么


如果您
在函数中回显$a
,则该函数一被调用就会吐出
$a
。如果
返回$a
,假设您将
test
的调用设置为一个变量(即
$something=$test('foo')
),那么您以后可以使用它。

这取决于您试图实现的目标

如果在多个位置写入
echo
,代码将变得混乱。通常,返回值的函数也更通用,因为调用方可以决定是进一步操作该值还是立即打印该值

我建议遵循惯例,对函数使用
return

你应该检查一下

示例:

function test() {
   return 10;
}

$a = test(); // $a stores the value 10

echo $a; // Prints 10
echo $a + 5; // We may want to manipulate the value returned by the function. So, it prints 15.
如需进一步参考,请勾选“return”(返回)在您计划从其他代码调用此函数时非常重要,它可以帮助您:

  • 了解该功能是否正常工作
  • 从函数中获取值
  • 确保返回后未执行其他代码
  • 当代码像您的示例一样简单时,它可能是无用的,让我们将其变得更复杂

    function test($a){
        if(file_exists($a)){
            if(is_file($a)){
                return $a." IS A FILE\n";
            } else if(is_dir($a)) {
                return $a." IS A DIR\n";
            } else {
                return $a." EXISTS, BUT I DONT KNOW WHAT IT IS\n"
            }
        } else {
            return $a." NOT EXISTS\n";
        }
        return 0;
    }
    
    
    $filecheck = test("/abc/def.txt");
    if($filecheck){
        echo $filecheck;
    } else {
        echo "unknown error";
    }
    
    上面显示了如何返回一个值,并执行一些基本处理。 在函数中实现return总是好的,这样您甚至可以为函数指定错误代码以供参考

    根据您的示例,我将稍微修改如下:

    function test($a){
        blah;
        blahh;
        blahhh;
        blahhhhh;
        return 1;
    }
    
    所以我知道代码一直运行到最后一行。
    否则,函数将以静默方式结束。

    上面的返回只会中断函数,这取决于您的设计和函数正在执行的操作,您不希望
    返回结果。@ᵈˑ-return语句在echo语句之后,因此它不会阻止这一点。@ʰᵈˑ-这与问题有什么关系?“上图”-请引用文本,不要发布截图。这也有助于链接到源代码。我注意到这是几个拼写错误,没有太大意义,因此我将其归档在“垃圾教程”下,并建议您找一个更好的学习场所,例如。
    
    function test($a){
        blah;
        blahh;
        blahhh;
        blahhhhh;
        return 1;
    }