购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.3 函数返回值

函数的返回值可以是任意类型的数据。函数也可以不返回值。函数使用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));
     ?>

以上程序的执行结果为: DNhOyX8V5UdrBV1GxufuRSSPelTu5D4sRIqvVvZX2x6tr/33uYaEq8GfIB/FYc3T


     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

点击中间区域
呼出菜单
上一章
目录
下一章
×