Php 为什么在函数末尾使用return而不返回任何值
我对return语句感到困惑,例如,为什么我们需要在函数末尾使用returnPhp 为什么在函数末尾使用return而不返回任何值,php,function,Php,Function,我对return语句感到困惑,例如,为什么我们需要在函数末尾使用return function test($a){blah; blahh ; blahhh; blahhhhh; 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;
}