这种方式区别与2.1.2的方式,它可以让函数内部对参数的改变在外部得到体现,按引用传递参数(也称传引用)要在参数前面加上&符号.
例2.1.3-L1
<?php输出的应该是:
$a=2006;
$b=2007;
function cont(&$a,$b){
$a+=$b;
$b+=$a;
}
cont($a,$b);
echo "a:".$a."<br/>";
echo "b:".$b."<br/>";
?>
a的值是:4013
b的值是:2007
此时$a已经变为4013,而b并没有变化.
2.1.4 默认参数值:
给函数的参数设置一个默认值后,如果在没有提供这个参数的时候,函数就会把这个默认值赋值给该参数.
<?php输出为:2006
$a=2007;
function cont($a,$b=2006){
echo $b;
}
cont($a);
?>
给定参数默认值的时候,注意必须是常数表达式,而不能指定函数调用或变量等非常量值.
2.1.5 可选参数:
你也可以设置某参数为可选(optional)参数,不过这个参数要放在参数列的最后一位,并且要设置默认值为空:
function sum($a,$b,$c=''){如果你有多个参数的时候,也可以选择性的传递参数:
$sum=$a+$b+$c;
echo $sum;
}
function sum($a,$b='',$c=''){调用sum的时候可以只传递$a和$c:
echo $a+$b+$c;
}
sum(2046,'',2008);