通过前面函数的学习我们知道,函数是一个功能集合体,可以实现某些特定的功能或运算。函数运行之后的结果保留在函数内部是没有任何意义的,所以我们需要将函数的运算结果返回到调用函数的地方。
PHP 中提供了 return 语句来返回函数的运行结果,其语法格式如下:
return 返回值;
其中,“返回值”为一个可选参数,可以是一个具体的值或者表达式,也可以为空。“返回值”与 return 关键字之间需要使用空格分隔。
注意:return 语句只能返回一个参数,即只能返回一个值,不能一次返回多个值。如果要返回多个值的话,就需要在函数中定义一个数组,将返回值存储在数组中返回。
使用 return 语句时需要注意以下几点:
【示例】下面实现一个计算汇率的函数,并将计算好的值通过 return 返回,代码如下所示:
<?php function money($rmb, $rate=0.1438){ $price = $rmb * $rate; return $price; } $dollar = money(50); echo '50 元人民币 = '.$dollar.' 美元'; ?>
运行结果如下:
50 元人民币 = 7.19 美元
提示:上面示例中,我们在函数中使用 return 返回了一个变量 $price,其实返回的并不是变量本身,而是这个变量的值。所以在函数外面我们需要使用另一个变量来存储这个值。
return 不仅能返回一个变量,还可以返回一个表达式,所以上面示例中的函数我们还能写得更加简洁,如下所示:
<?php function money($rmb, $rate=0.1438){ return $rmb * $rate; } ?>
通过上面的介绍我们知道 return 一次只能返回一个参数,如果要返回多个参数的话需要借助数组来完成,下面我们通过一个示例来演示一下:
<?php function demo(){ $arr = array( 'website' => 'C', 'title' => 'PHP 教程', 'url' => 'http://c.biancheng.net/php/', ); return $arr; } $arr = demo(); echo '<pre>'; print_r($arr); ?>
运行结果如下:
Array
(
[website] => C
[title] => PHP 教程
[url] => http://c.biancheng.net/php/
)
另外,在 PHP7 中增加了一个新功能——声明返回值类型。与声明参数类型相似,在非严格模式下,PHP 将会尝试将返回值类型转换为声明的类型,如果转换失败会报一个 Fatal error 错误。但在严格模式下,函数的返回值必须与声明的返回类型一致(不会尝试对返回值进行类型转换),不一致时同样会报一个 Fatal error 错误。
示例如下:
<?php function sum($a, $b):float{ return $a + $b; } var_dump(sum(114, 233)); ?>
运行结果如下:
float(347)
在严格模式下的代码如下:
<?php declare(strict_types=1); function sum($a, $b):int{ return $a + $b; } var_dump(sum(3, 7)); var_dump(sum(9, 3.3)); ?>
运行结果如下:
int(10)
Fatal error: Uncaught TypeError: Return value of sum() must be of the type int, ......
更多...
加载中...