7.5 return语言结构
除了exit和die语言结构可以用作程序的流程控制语句外,return语言结构也可以实现流程控制功能。return语言结构返回整个PHP程序的运算结果,并结束当前PHP程序的运行。
例如,程序return.php代码如下,该程序的运行结果如图7-18所示。
<?php
echo "Hello!<br/>";
return("这是return语句!<br/>");
echo "return后的语句不执行!<br/>";
?>
程序return.php中的语句“return("这是return语句!<br/>")”也可以写成“return "这是return语句!<br/>"”。
使用return控制程序的流程时,通常return在被引用的PHP程序中使用,程序执行到return语句后,将运算结果返回给引用程序,并将控制转交给引用程序。被引用的 PHP 程序中,return后的PHP语句将不再执行。
当return用作控制语句时,return和exit之间的区别在于:exit会结束所有PHP程序(包括引用者PHP程序)的运行,而return只会结束被引用PHP程序的运行,不会结束引用者PHP程序的运行,并且被引用PHP程序中的return语句可以向引用PHP程序返回一个数据。下面的 4个PHP程序演示了return和exit之间的区别。
程序return.php
<?php
echo "Hello!<br/>";
return("这是return语句!<br/>");
echo "return后的语句不执行!<br/>";
?>
程序exit.php
<?php
echo "World!<br/>";
exit("这是exit语句!<br/>");
echo "exit后的语句不执行!<br/>";
?>
说明:程序exit.php中的语句“exit("这是exit语句!<br/>")”不可以写成“exit "这是exit语句!<br/>"”。
程序returnAndExit.php的代码如下,该程序运行结果如图7-19所示。
<?php
echo "引用者程序!<br/>";
echo include("return.php");
?>
<hr/ >
<?php
echo "引用者程序!<br/>";
include("exit.php");
?>
程序exitAndReturn.php的代码如下,该程序运行结果如图7-20所示。
<?php
echo "引用者程序!<br/>";
include("exit.php");
?>
<hr/ >
<?php
echo "引用者程序!<br/>";
echo include("return.php");
?>