函数

2020年4月17日16:31:42 评论 48 次浏览

函数参数

按值传递参数

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

继续阅读
weinxin
加我微信
微信扫一扫,加我微信好友,共同交流,共同进步! (备注:焦国强博客)
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: