函数参数
按值传递参数
function calcSalesTax($price, $tax)
{
$total = $price + ($price * $tax);
echo $total;
}
$pricetag = 15.00;
$salestax = 0.75;
calcSalesTax($pricetag, $salestax);
以这种方式传递参数时,称为按值传递(pass by value)。这就意味着,函数范围内对这些值的任
何改变在函数外部都会被忽略。
按引用传递参数
有些情况下,你可能希望在函数内对参数所做的修改也可以体现在函数作用域外,按引用传递参
数就可以满足这种需要。按引用传递参数(也称传引用)要在参数前加上&符号。
$cost = 20.99;
$tax = 0.0575;
function calculateCost(&$cost, $tax)
{
//修改$cost变量
$cost = $cost + ($cost * $tax);
$tax += 4;
}
calculateCost($cost, $tax);
printf('tax is %.4f', $tax); //tax is 0.0575 函数外调用$tax无变化
printf('cost is %.2f', $cost);//cost is 22.20 函数外调用$cost 发生变化
默认参数值
可以为输入参数指定默认值,在没有提供其他值的情况下,就会把这个默认值自动赋给该参数。
默认参数值必须位于参数列表末尾且为常数表达式,而不能指定为函数调用或变量等非常量值。
function calcSalesTax($price, $tax = .0675)
{
$total = $price + ($price * $tax);
echo "Totalcost : $total";
}
$price = 15.47;
calcSalesTax($price);
可以指定某个参数为可选(optional) 参数,为此这些参数需要放在参数列表末尾,而且要指定其默认值为空
function calcSalesTax($price, $tax = '')
如果指定了多个可选参数,可以选择性地传递某些参数。
function calculate ($price, $price2 = "", $price3 = "")
calculate (10,"",3);
函数返回值
return
list 返回多个值
$name = ['jiao','han','wang','li','zhou'];
list($j,$h,$w,$l,$z) = $name;
echo $j;
function returnname()
{
return $name = ['jiao', 'han', 'wang', 'li', 'zhou'];
}
list($j, $h, $w, $l, $z) = returnname();
echo $j . $h . $w . $l . $z;//jiaohanwanglizhou
递归函数
递归函数(recursivefunction)即调用自身的函数,对于程序员来说通常有很高的实用价值,常用
来将复杂的问题分解为简单的情况,反复做这种处理直到问题解决。
递归调用函数自己,必须使用条件判断,满足条件,退出递归,以免死循环。
函数库
将多个具有同类功能都函数写到同一个php文件中,在需要调用都地方使用include()或是requrie()引入.
filename.library.php 推荐文件命名.library.php