- PHP 菜鸟教程
- PHP - 教程
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 功能
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - echo 语句和 print 语句
- PHP - var_dump() 函数
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP – 数据类型
- PHP - 类型转换
- PHP - 类型戏法
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件和I/O
- PHP – 数学函数
- PHP - Heredoc & Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期和时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符类型
- PHP - 算术运算符示例
- PHP - 比较运算符示例
- PHP - 逻辑运算符示例
- PHP - 赋值运算符示例
- PHP – 字符串运算符
- PHP – 数组运算符
- PHP – 条件运算符示例
- PHP - Spread 运算符
- PHP - Null 合并运算符
- PHP - Spaceship 运算符
- PHP 控制语句
- PHP – 决策
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP – 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - do...While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 数组
- PHP - 数组
- PHP - 索引数组
- PHP - 关联数组
- PHP - 多维数组
- PHP - 数组函数
- PHP - 常量数组
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值调用
- PHP - 按引用调用
- PHP - 默认参数
- PHP - 命名参数
- PHP - 变量参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量范围
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头( Arrow )函数
- PHP - 变量处理函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS 变量
- PHP - $_SERVER 变量
- PHP - $_REQUEST 变量
- PHP - $_POST 变量
- PHP - $_GET 变量
- PHP - $_FILES 变量
- PHP - $_ENV 变量
- PHP - $_COOKIE 变量
- PHP - $_SESSION 变量
- PHP 文件处理
- PHP - 文件处理
PHP - 返回值
PHP 函数可以有一个可选的 return 语句作为其函数体中的最后一条语句。PHP 的大多数内置函数都返回某个值。例如,strlen() 函数返回字符串的长度。同样,用户定义的函数也可以返回某个值。
函数是一个独立、完整且可重用的语句块。调用时,它会执行特定任务,并将程序控件发送回调用它的位置,即使没有使用 return 语句。return 语句允许它将值与控件一起返回调用环境。
function foo($arg_1, $arg_2) {
statements;
return $retval;
}
函数可以返回任何类型的数据,包括标量变量、数组和对象。前面没有任何表达式的 return 关键字返回 null,等效于根本没有返回值的函数。
函数返回的值可以存储在变量中,可以放在表达式中,或者如果出现在 print 或 echo 中,则显示在输出中。
$res = foo($x, $y);
它允许在程序中进一步使用函数的返回值。
例
让我们修改上一章中的 addition() 函数,以包含一个 return 语句来返回加法的结果。
<?php
function addition($first, $second) {
$result = $first+$second;
return $result;
}
$x=10;
$y=20;
$z = addition($x, $y);
echo "First number: $x Second number: $y Addition: $z". PHP_EOL;
?>
它将产生以下输出 -
First number: 10 Second number: 20 Addition: 30
PHP 函数可以有任意数量的参数,但只能返回一个值。该函数在第一次遇到 return 语句时立即返回调用环境,放弃函数体中的其余语句。
例
如果您尝试在 return 语句中包含多个值,则会遇到 PHP 解析错误,如下所示 -
<?php
function raiseto($x) {
$sqr = $x**2;
$cub = $x**3;
return $sqr, $cub;
}
$a = 5;
$val = raiseto($a);
?>
它将产生以下输出 -
PHP Parse error: syntax error, unexpected token ",", expecting ";"
条件返回
您可以在不同的条件语句下执行多个 return 语句。
例
在下面的程序中,raiseto() 函数返回 index 参数的平方或数字的立方,即 2 或 3。
<?php
function raiseto($x, $i) {
if ($i == 2) {
return $x**2;
} elseif ($i==3) {
return $x**3;
}
}
$a = 5;
$b = 2;
$val = raiseto($a, $b);
echo "$a raised to $b = $val" . PHP_EOL;
$x = 7;
$y = 3;
echo "$x raised to $y = " . raiseto($x, $y) . PHP_EOL;
?>
它将产生以下输出 -
5 raised to 2 = 25
7 raised to 3 = 343
7 raised to 3 = 343
以数组形式返回多个值
PHP 函数只能返回单个值。但是,该单个值可以是包含多个值的数组。我们可以利用此功能一次返回数字的平方和立方。
例请看下面的例子 -
<?php
function raiseto($x){
$sqr = $x**2;
$cub = $x**3;
$ret = ["sqr" => $sqr, "cub" => $cub];
return $ret;
}
$a = 5;
$val = raiseto($a);
echo "Square of $a: " . $val["sqr"] . PHP_EOL;
echo "Cube of $a: " . $val["cub"] . PHP_EOL;
?>
它将产生以下输出 -
Square of 5: 25
Cube of 5: 125
Cube of 5: 125