首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
PHP的标记风格
编码规范
常量的使用
内置常量
PHP中的变量声明
可变变量与变量的引用
变量作用域
变量的销毁
数据类型
标量类型的声明
算术运算符
字符串运算符
其它运算符
表达式
内置函数
自定义函数
函数传递参数值
函数返回值
文件包含
流程控制
循环控制结构
PHP 8的新变化1—match表达式
PHP 8的新变化2—联合类型和mixed类型
PHP 8的新变化3—参数列表中可以使用尾部逗号
实战演练1—条件分支结构综合应用
实战演练2—循环控制结构综合应用
当前位置:
首页>>
技术小册>>
PHP8入门与项目实战(2)
小册名称:PHP8入门与项目实战(2)
由于函数是一段封闭的程序,因此很多时候程序员都需要向函数内传递一些数据来进行操作。 ```php function函数名称(参数1,参数2){ 算法描述,其中使用参数1和参数2; } ``` 下面以计算酒店房间住宿费总价为例进行讲解。 【例4.3】(实例文件:源文件\ch04\4.3.php) ```php <?php function totalneedtopay($days,$roomprice){ // 声明自定义函数 $totalcost = $days*$roomprice; // 计算住宿费总价 echo "需要支付的总价:$totalcost"."元。"; // 输出住宿费总价 } $rentdays = 3; //声明全局变量 $roomprice = 168; totalneedtopay($rentdays,$roomprice); //通过变量传递参数 totalneedtopay(5,198); //直接传递参数值 ?> ``` 运行结果如图4-3所示。 ![](/uploads/images/20231207/947dab7371fe68cfeb606b672084bfe8.png) 【案例分析】 (1)以这种方式传递参数值的方法就是向函数传递参数值。 (2)其中function totalneedtopay($days,$roomprice){}定义了函数和参数。 (3)无论是通过变量$rentdays和$roomprice向函数内传递参数值,还是像totalneedtopay(5,198)这样直接传递参数,值都是一样的。 4.2.3 向函数传递参数引用 向函数传递参数引用其实就是向函数传递变量引用。参数引用一定是变量引用,静态数值是没有引用一说的。由于在变量引用中已经知道,变量引用其实就是对变量名的使用,是对特定的变量位置的使用。 下面仍然以计算酒店服务费总价为例进行讲解。 ```php <?php $fee = 300; $serviceprice = 50; function totalfee(&$fee,$serviceprice){// 声明自定义函数,参数前多了&,表示按引用传递 $fee = $fee+$serviceprice; // 改变形参的值,实参的值也会发生改变 echo "需要支付的总价:$fee"."元。"; } totalfee($fee,$serviceprice); //函数外部调用fun()函数前$fee =300 totalfee($fee,$serviceprice); //函数外部调用fun()函数后$ fee =350 ?> ``` 运行结果如图4-4所示。 ![](/uploads/images/20231207/3634dcd679352d3dddad25ff97ed38f2.png) 【案例分析】 (1)以这种方式传递参数值的方法就是向函数传递参数引用。使用“&”符号表示参数引用。 (2)其中function totalfee(&$fee,$serviceprice){}定义了函数、参数和参数引用。变量$fee是以参数引用的方式进入函数的。当函数的运行结果改变了变量$fee的引用时,在函数外的变量$fee的值也发生了改变,也就是函数改变了外部变量的值。
上一篇:
自定义函数
下一篇:
函数返回值
该分类下的相关小册推荐:
PHP高性能框架-Swoole
PHP合辑5-SPL标准库
Laravel(10.x)从入门到精通(六)
PHP合辑4-字符串函数
Laravel(10.x)从入门到精通(十九)
PHP合辑1-基础入门
Magento零基础到架构师(目录管理)
Yii2框架从入门到精通(下)
Workerman高性能框架-GatewayWorker
HTTP权威指南
Laravel(10.x)从入门到精通(八)
PHP8入门与项目实战(5)