在函数间传递参数
在调用函数时需要向函数传递参数,被传入的参数称为实参,而函数定义的参数为形参。参数传递的方式有按值传递、按引用传递和默认3种。
1.按值传递方式
按值传递是指将实参的值复制到对应的形参中,在函数内部的操作针对形参进行,操作的结果不会影响到实参,即函数返回后,实参的值不会改变。
例:首先定义一个函数example(),功能是将传入的参数值做一些运算后再输出。接着在函数外部定义一个变量$m,也就是要传进来的参数。最后调用函数example($m),输出函数的返回值$m和变量$m
的值。
- <?php
- function example($m){ //定义一个函数
- $m=$m*5+10;
- echo "在函数内: \$m=".$m; //输出形参的值
- }
- $m=1;
- example($m); //传递值,将$m的值传递给形参$m
- echo "<p>在函数外 \$m = $m<p>"; //实参的值没有发生变化,输出m=1
- ?>
复制代码 版权所有:相商动易
2.按引用传递方式
按引用传递方式就是将实参的内存地址传递到形参中。这时,在函数内部的所有操作都会影响到实参的值,返回后实参的值会发生变化。引用传递方式就是传值时在原基础上加&号即可。 -
- <?php
- function example(&$m){ //定义一个函数,同时传递参数$m的变量
- $m=$m*5+10;
- echo "在函数内: \$m=".$m; //输出形参的值
- }
- $m = 1;
- example($m); //传递值:将$m的值传递给形参$m
- echo"<p>在函数外: \$m=$m<p>"; //实参的值发生变化,输出 m=15
- ?>
复制代码 版权所有:相商动易
3.默认参数(可选参数)
还有一种设置参数的方式,默认的方式,默认参数即可选参数,可以指定某个参数为可选参数,将可选参数放在参数列表未尾,并且指定其默认值为空。
例:使用可选参数实现一个简单的价格计算功能,设置自定义函数values的参数为可选参数,其默认值为空。第一次调用该函数,并且给参数$tax赋值0.25,输出价格,第二次调用该函数,不给参数$tax赋值,输出价格。 - <?php
- function values($price,$tax=""){ //定义一个函数,其中的一个参数初始值为空
- $price=$price+($price*$tax); //声明一个变量$price,等于两个参数的运算结果
- echo "价格:$price<br>"; //输出价格
- }
- values(100,0.25); //为可选参数赋值0.25
- values(100)
- ?>
复制代码 版权所有:相商动易
|