PHP 8从入门到精通(视频教学版)
上QQ阅读APP看书,第一时间看更新

4.2.3 向函数传递参数引用

向函数传递参数引用其实就是向函数传递变量引用。参数引用一定是变量引用,静态数值是没有引用一说的。由于在变量引用中已经知道,变量引用其实就是对变量名的使用,是对特定的变量位置的使用。

下面仍然以计算酒店服务费总价为例进行讲解。

【例4.4】(实例文件:源文件\ch04\4.4.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所示。

图4-4 程序运行结果

【案例分析】

(1)以这种方式传递参数值的方法就是向函数传递参数引用。使用“&”符号表示参数引用。

(2)其中function totalfee(&$fee,$serviceprice){}定义了函数、参数和参数引用。变量$fee是以参数引用的方式进入函数的。当函数的运行结果改变了变量$fee的引用时,在函数外的变量$fee的值也发生了改变,也就是函数改变了外部变量的值。