在 PHP 中,函数的返回值可以是任意类型的数据;当然,函数也可以不返回值。函数使用 return 关键字返回数据,函数遇到 return 关键字会立即终止执行。
示例代码如下:
<?php function square($num){ return $num * $num; } echo square(4); //outputs'16'. ?>
以上代码的运行结果为:
16
函数只能有一个返回值
函数不能返回多个值,但可以通过返回一个数组来得到类似的效果。代码如下:
<?php function small_numbers(){ return array(0, 1, 2); } list($zero, $one, $two) = small_numbers(); echo $zero . $one . $two; ?>
代码执行结果为:
012
$zero $one $two 的值分别是0、1、2。
返回值类型声明
在 PHP 7 中函数增加了返回值的类型声明。和参数类型声明类似,在非严格模式下,PHP 将会尝试将返回值类型转换成期望得到的值类型,但在严格模式下,函数的返回值必须与声明的返回类型一致。
示例如下:
<?php function sum($a, $b):float{ return $a + $b; } var_dump( sum(1,2) ); ?>
以上程序会输出:
float(3)
在严格模式下的代码如下:
<?php declare(strict_types=1); function sum($a, $b):int{ return $a + $b; } var_dump( sum(1,2) ); var_dump( sum(1,2.1) ); ?>
以上程序的执行结果为:
int(3)
Fatal error: Uncaught TypeError: Return value of sum() must be of the type integer, float returned in /Library/WebServer/Documents/book/str.php:281 Stack trace: #0 /Library/WebServer/Documents/book/str.php(284): sum(1, 2.1) #1 {main} thrown in /Library/WebServer/Documents/book/str.php on line 281
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/23344.html