return

(PHP 4, PHP 5, PHP 7, PHP 8)

return 将程序控制返回到调用模块。执行将从调用模块调用后的表达式处恢复。

如果从函数内部调用,则return 语句将立即结束当前函数的执行,并将其参数作为函数调用的返回值返回。return 还将结束 eval() 语句或脚本文件的执行。

如果从全局作用域调用,则当前脚本文件的执行将结束。如果当前脚本文件被 includerequire,则控制权将传递回调用文件。此外,如果当前脚本文件被 include,则传递给 return 的值将作为 include 调用的返回值返回。如果 return 从主脚本文件内部调用,则脚本执行将结束。如果当前脚本文件由 php.ini 中的 auto_prepend_fileauto_append_file 配置选项命名,则该脚本文件的执行将结束。

有关更多信息,请参阅 返回值

注意: 请注意,由于 return 是一个语言结构而不是函数,因此其参数周围的括号不是必需的,并且不建议使用它们。

注意: 如果没有提供参数,则必须省略括号并返回 null。 使用括号但没有参数调用 return 会导致解析错误。

从 PHP 7.1.0 开始,在声明返回类型的函数中没有参数的 return 语句会触发 E_COMPILE_ERROR,除非返回类型为 void,在这种情况下,带有参数的 return 语句会触发该错误。

添加注释

用户贡献的注释 2 个注释

warhog at warhog dot net
18 年前
对于那些认为在脚本中使用 return 与使用 exit 相同的人,请注意:使用 return 只是退出当前脚本的执行,exit 退出整个执行。

看这个例子

a.php
<?php
include("b.php");
echo
"a";
?>

b.php
<?php
echo "b";
return;
?>

(执行 a.php:) 将输出 "ba"。

而 (b.php 修改后)

a.php
<?php
include("b.php");
echo
"a";
?>

b.php
<?php
echo "b";
exit;
?>

(执行 a.php:) 将输出 "b"。
J.D. Grimes
11 年前
注意,因为 PHP 在运行之前处理文件,所以即使未执行包含文件,包含文件中定义的任何函数都将仍然可用。

例子

a.php
<?php
include 'b.php';

foo();
?>

b.php
<?php
return;

function
foo() {
echo
'foo';
}
?>

执行 a.php 将输出 "foo"。
To Top