[函数]PHP笔记2:PHP创建函数
对于力图避免在编程中闭门造车、一切都重新发明的程序员来说,虽然PHP 的众多函数库是一笔巨大的财富,但迟早都会用到标准包以外的函数,这意味着你需要创建定制函数,甚至创建整个函数库。为此,需要使用预定义模板来定义一个函数,如下:
| function functionName(parameters){ function-body } |
| function generateFooter(){ echo "Copyright 2010 W. Jason Gilmore"; } |
| <?php generateFooter(); ?> |
| Copyright 2010 W. Jason Gilmore |
你会经常发现向函数传递数据很有用。举一个例子来说。创建一个函数,他要确定销售税率,然后将税费增加到价格上,从而计算商品的总价:
| function calcSalesTax($price,$tax) { $total=$price+($price*$tax); echo "Total cost:$total"; } |
| <?php $pricetag=15.00; $salestax=0.075; calcSalesTax($pricetag,$salestax); ?> |
注解:需要说明的是,不要求非得在调用之前定义函数,因为PHP在执行前会把整个脚本读到引擎中。因此,可以在定义之前就调用salestax(),但并不推荐这种随便的做法。
2.按引用传递参数
在有些情况下,可能希望在函数内对参数的修改在函数范围外也能反映,按引用传递参数就可以满足这样需求。按引用传递参数(也称传引用)要在参数前加上&符号。下面是一个例子:
| <?php $cost = 20.00; $tax = 0.05; function calculate_cost(&$cost, $tax) { // Modify the $cost variable $cost = $cost + ($cost * $tax); // Perform some random change to the $tax variable. $tax += 4; } calculate_cost($cost,$tax); echo "Tax is: ".($tax*100)."<br />"; echo "Cost is: $". $cost."<br />"; ?> |
| Tax is: 5 Cost is: $21 |
3.默认参数值
可以为输出参数指定默认值,在没有提供其他值的情况下,就会把这个默认值自动赋值给该参数。下面来修改前面销售税的例子,假设你的销售主要集中在俄国,可以知道$tax的默认值为6.75%,如下:
| function salestax($price,$tax=0.675) { $total = $price + ($price * $tax); echo "Total cost: $total"; } |
| $price=15.47; salestax($price); |
可以指定某个参数为可选参数,为此,这些参数需要放在参数列表末尾,而且要指定其默认值为空,如下:
| function salestax($price,$tax="") { $total = $price + ($price * $tax); echo "Total cost: $total"; } |
| salestax(42.00); |
| Total cost: 42 |
| function calculate($price,$price2="",$price3=""){ echo $price+$price2+$price3; } |
| calculate(10,"",3); |
| 13 |

RSS订阅






