3.72PHP在函数间传递参数
Posted by 撒得一地 on 2015年11月30日 in PHP入门教程
上一篇: 3.71PHP定义和调用函数
下一篇: 3.73PHP中从函数中返回值
下一篇: 3.73PHP中从函数中返回值
在调用函数时,需要向函数传递参数,被传入的参数称为实参,而函数定义的参数为形参。参数传递的方式有按值传递、按引用传递和默认参数三种。
1.按值传递方式
将实参的值复制到对应的形参中,在函数内部的操作针对形参进行,操作的结果不会影响到实参,即函数返回后,实参的值不会改变。
实例:
<?php //定义一个函数 function example($m){ $m = $m * 5 + 10; //输出形参的值 echo "在函数内:\$m=".$m; } $m = 5; //传递值,将$m的值传递给形参$m example($m); //实参的值没有发生变化,输出5 echo "<p>在函数外\$m=$m</p>"; ?>
上面的值输出:
在函数内:$m=35 在函数外:$m=5
2.按引用传递方式
按引用传递就是将实参的内存地址传递到形参中。这时,在函数内部的所有操作都会影响到实参的值,返回后,实参的值会发生变化。引用传递方式就是传值时在原基础上加&号即可。
实例:
<?php //定义一个函数,同时传递参数$m的变量 function example(&$m){ $m = $m*5 + 10; echo "在函数内:\$m=".$m; } $m = 5; //传递值,将$m的值传递给形参$m example($m); //实参的值发生变化,输出35 echo "<p>在函数外\$m=$m</p>"; ?>
上面的值输出:
在函数内:$m=35 在函数外:$m=35
3.默认参数(可选参数)
还有一种设置参数的方式,即可选参数。可以指定某个参数为可选参数,将可选参数放在参数列表末尾,并且指定其默认值为空。
实例:
<?php //定义一个函数,其中的一个参数初始值为0 function values($price,$tax=0){ //声明一个变量$price,等于两个参数的运算结果 $price = $price+($price*$tax); echo "价格:$price<br/>"; } //设可选参数赋值0.25 values(100,0.25); values(100); ?>
上面输出:
价格:125 价格:100
当使用默认参数时,默认参数必须放在非默认参数的右侧,否则函数可能出错。从PHP5开始,默认值也可以通过引用传递。
上一篇: 3.71PHP定义和调用函数
下一篇: 3.73PHP中从函数中返回值
下一篇: 3.73PHP中从函数中返回值