【web 开发基础】PHP 自定义函数之函数的返回值 -PHP 快速入门 (27)
前言
在定义函数时,函数名后面括号中的参数列表是用户在调用函数时用来将数据传递到函数内部的接口,而函数的返回值则将函数执行后的结果返回给调用者。如果函数没有返回值,就只能算一个执行过程。只依靠函数做一些事情还不够,有时更需要在程序脚本中使用函数执行后的结果。由于变量的作用域的差异,调用函数的脚本程序不能直接使用函数体里面的信息,但可以通过关键字 return 向调用者传递数据。return 语句在函数体中使用时,有以下两个作用:
return 语句可以向函数调用者返回在函数体中任意确定的值。
将程序控制权返回到调用者的作用域,即退出函数。在函数体中如果执行了 return 语句,它后面的语句就不会被执行
语法
语法如下:
编程实践
在上一篇文章《【web 开发基础】通过模拟地铁售票系统介绍 PHP 自定义函数之函数的参数 -PHP 快速入门 (26)》中我们写了一个模拟地铁售票系统的程序,代码如下:
在上面的例子中,我们在售票函数 saleTickets($line,$originating, $terminus)中调用了支付函数 pay(),在支付函数中们是直接输出支付的结果,而不是返回结果。如果我们需要在售票函数 saleTickets($line,$originating, $terminus)中需要 pay()返回一个值,并在售票函数中使用到,比如返回支付成功的编码 code 以及提示信息等等,然后通过返回的信息判断支付的具体情况,这时候我们就需要使用到 return 返回一个值,以供调用函数来使用。修改 pay()函数代码如下:
在上述代码中,由于 PHP 中 return 一次智能返回一个值,当我们需要返回多个值时,我们可以把所以值放到一个数组中进行返回。这样我们就可以从在其他函数中判断调用的其他服务是否成功,再进行接下来的操作,这样更符合我们的实际需求。
调用如下:
在上面的例子中,当 saleTickets()调用 pay()时,不仅可以将一些数据以参数的形式传递到函数的内部,还执行了函数,并且在调用函数处还可以使用 return 语句返回的值,而且这个从函数返回的值可以在脚本中像使用其他值一样使用,比如:将返回值赋值给一个变量、直接输出或是参与运算等。
总结
通常在函数中使用 return 语句可以很容易的返回一个值。如果需要返回多个值,则不能采用连续写多个 return 语句的方式。因为函数执行到第一个 return 语句就会退出,不会执行其后面的任何代码,但是可以将多个值添加一个数组中,在使用 return 返回这个数组,在调用函数时就可以接收到这个数组,并在程序中像使用其他数组一样。
版权声明: 本文为 InfoQ 作者【迷彩】的原创文章。
原文链接:【http://xie.infoq.cn/article/ad1261dd38e1250fb310fa8cf】。文章转载请联系作者。
评论