【web 开发基础】PHP 自定义函数之函数的返回值-PHP 快速入门 (27)

简介: 在定义函数时,函数名后面括号中的参数列表是用户在调用函数时用来将数据传递到函数内部的接口,而函数的返回值则将函数执行后的结果返回给调用者。如果函数没有返回值,就只能算一个执行过程。只依靠函数做一些事情还不够,有时更需要在程序脚本中使用函数执行后的结果。由于变量的作用域的差异,调用函数的脚本程序不能直接使用函数体里面的信息,但可以通过关键字return向调用者传递数据。return语句在函数体中使用时,有以下两个作用:1. return语句可以向函数调用者返回在函数体中任意确定的值。2. 将程序控制权返回到调用者的作用域,即退出函数。在函数体中如果执行了return语句,它后面的语句就不会被

前言

在定义函数时,函数名后面括号中的参数列表是用户在调用函数时用来将数据传递到函数内部的接口,而函数的返回值则将函数执行后的结果返回给调用者。如果函数没有返回值,就只能算一个执行过程。只依靠函数做一些事情还不够,有时更需要在程序脚本中使用函数执行后的结果。由于变量的作用域的差异,调用函数的脚本程序不能直接使用函数体里面的信息,但可以通过关键字return向调用者传递数据。return语句在函数体中使用时,有以下两个作用:

  1. return语句可以向函数调用者返回在函数体中任意确定的值。
  2. 将程序控制权返回到调用者的作用域,即退出函数。在函数体中如果执行了return语句,它后面的语句就不会被执行

语法

语法如下:

<?phpreturn返回值;//一个确定的值?>

编程实践

在上一篇文章《【web 开发基础】通过模拟地铁售票系统介绍 PHP 自定义函数之函数的参数 -PHP 快速入门 (26)》中我们写了一个模拟地铁售票系统的程序,代码如下:

<?php/*$originating  起点站$terminus  终点站*/functionsaleTickets($line,$originating, $terminus){
//通过选择站点计算票价 地铁是按里程计算的.我们这里只是模拟一下$station= [
3=>[
'天河客运站-五山'=>2,
'天河客运站-广州东站'=>3,
'天河客运站-林和西'=>4,
'天河客运站-体育西路'=>5    ],
4=>[
'黄村-车陂'=>2,
'黄村-车陂南'=>3,
'黄村-万胜围'=>4,
'黄村-官洲'=>5    ]
  ];
echo"你选择的是" . $line . "号线,起始站点-终点站是: " .  $originating . "-" . $terminus;
echo"<br>";//<br>是网页中的换行echo"你的票价是: " . $station[$line][$originating . "-" . $terminus];//数组的用法后面细说//调用支付系统进行支付$yourPay=3;
pay($yourPay, $station[$line][$originating . "-" . $terminus]);
}
//支付系统functionpay($yourPay, $ticketPrice){
if($yourPay>$ticketPrice){
echo"支付成功,正在找零....找回金额为:". ($yourPay-$ticketPrice);
  }
elseif($yourPay<$ticketPrice){
echo"请继续支付....已放入金额为:". ($ticketPrice-$yourPay);
  }else{
echo"支付成功,正在出票...";
  }
}
saleTickets(3,'天河客运站', '体育西路');

在上面的例子中,我们在售票函数saleTickets($line,$originating, $terminus)中调用了支付函数pay(),在支付函数中们是直接输出支付的结果,而不是返回结果。如果我们需要在售票函数saleTickets($line,$originating, $terminus)中需要pay()返回一个值,并在售票函数中使用到,比如返回支付成功的编码code以及提示信息等等,然后通过返回的信息判断支付的具体情况,这时候我们就需要使用到return返回一个值,以供调用函数来使用。修改pay()函数代码如下:

<?phpfunctionpay($yourPay, $ticketPrice){
if($yourPay>$ticketPrice){
returnarray(
'code'=>'0',
'msg'=>"支付成功,正在找零....找回金额为:". ($yourPay-$ticketPrice);
    )
  }
elseif($yourPay<$ticketPrice){
returnarray(
'code'=>'1',
'msg'=>"请继续支付....已放入金额为:". ($ticketPrice-$yourPay)
    )
  }else{
returnarray(
'code'=>'2',
'msg'=>"支付成功,正在出票..."    )
  }
}
?>

在上述代码中,由于PHP中return一次智能返回一个值,当我们需要返回多个值时,我们可以把所以值放到一个数组中进行返回。这样我们就可以从在其他函数中判断调用的其他服务是否成功,再进行接下来的操作,这样更符合我们的实际需求。

调用如下:

<?phpfunctionsaleTickets($line,$originating, $terminus){
//.....$returnData=pay($yourPay, $station[$line][$originating . "-" . $terminus]);
}
?>

在上面的例子中,当saleTickets()调用pay()时,不仅可以将一些数据以参数的形式传递到函数的内部,还执行了函数,并且在调用函数处还可以使用return语句返回的值,而且这个从函数返回的值可以在脚本中像使用其他值一样使用,比如:将返回值赋值给一个变量、直接输出或是参与运算等。

总结

通常在函数中使用return语句可以很容易的返回一个值。如果需要返回多个值,则不能采用连续写多个return语句的方式。因为函数执行到第一个return语句就会退出,不会执行其后面的任何代码,但是可以将多个值添加一个数组中,在使用return返回这个数组,在调用函数时就可以接收到这个数组,并在程序中像使用其他数组一样。

目录
相关文章
|
2月前
|
关系型数据库 MySQL PHP
PHP在现代Web开发中的不可替代性####
本文探讨了PHP在当今Web开发领域的独特地位和重要性,分析了其持续受欢迎的原因。通过对比其他编程语言,揭示了PHP的灵活性、易用性和广泛应用场景,强调了其在动态网站构建中的核心作用。文章进一步阐述了PHP与数据库交互的优势,特别是在处理MySQL方面的能力,以及它如何促进开发者社区的创新和发展。最后,讨论了PHP面临的挑战及未来发展趋势,展望了其在新兴技术领域的应用前景。 ####
|
2月前
|
Oracle JavaScript 关系型数据库
PHP在现代Web开发中的不可替代性####
【10月更文挑战第17天】 本文探讨了PHP语言在当今Web开发领域的重要性和不可替代性。通过深入分析PHP的核心优势,如灵活性、易学性和广泛的应用支持,以及其在大型项目中的实际表现,揭示了PHP为何仍然是许多开发者的首选。文章还讨论了PHP与其他现代编程语言的比较,强调了其持续更新和改进的特性,使其在快速变化的技术环境中保持竞争力。 ####
40 4
|
17天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
17天前
|
关系型数据库 MySQL 数据库连接
PHP内置函数
PHP内置函数
24 5
|
23天前
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP是一种流行的服务器端脚本语言,自诞生以来在Web开发领域占据重要地位。从简单的网页脚本到支持面向对象编程的现代语言,PHP经历了多次重大更新。本文探讨PHP的现代演进历程,重点介绍其在Web开发中的应用及框架创新,如Laravel、Symfony等。这些框架不仅简化了开发流程,还提高了开发效率和安全性。
25 3
|
23天前
|
前端开发 PHP 云计算
PHP在Web开发中的不可替代性###
——守护Web开发基石,PHP的独特魅力与广泛应用解析
|
25天前
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP 自发布以来一直在 Web 开发领域占据重要地位,历经多次重大更新,从简单的脚本语言进化为支持面向对象编程的现代语言。本文探讨 PHP 的演进历程,重点介绍其在 Web 开发中的应用及框架创新。自 PHP 5.3 引入命名空间后,PHP 迈向了面向对象编程时代;PHP 7 通过优化内核大幅提升性能;PHP 8 更是带来了属性、刚性类型等新特性。
26 3
|
26天前
|
弹性计算 算法 PHP
PHP在现代Web开发中的不可替代性###
【10月更文挑战第27天】 如今互联网技术日新月异,前后端开发逐渐融合,但PHP凭借其灵活性、广泛应用和深厚社区基础,依然在Web开发领域占据重要地位。本文将深入探讨PHP为何能在现代Web开发中保持其不可替代的地位,并分析其未来的发展趋势。 ###
39 1
|
27天前
|
Unix Linux PHP
PHP在Web开发中的平台独立性优势###
本文探讨了PHP的跨平台特性,阐述其作为服务器端脚本语言如何在不同操作系统上无缝运行,以及这一特性为开发者和组织带来的便利性和成本效益。 ###
|
28天前
|
人工智能 搜索推荐 PHP
PHP在Web开发中的璀璨星辰:构建动态网站的幕后英雄###
【10月更文挑战第25天】 本文将带您穿越至PHP的宇宙,揭示其作为Web开发常青树的奥秘。通过生动实例与深入解析,展现PHP如何以简便、高效、灵活的姿态,赋能开发者打造动态交互式网站,同时不忘探讨其在新时代技术浪潮中面临的挑战与机遇,激发对技术创新与应用的无限思考。 ###
32 1