PHP 函数使用注意点

注意:
1、php函数参数,当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧,否则函数将不按照预期工作。

2、php不能返回多个值,但可以通过返回一个数组达到相同的效果
function getArr(){
    return array(1,2,3);
}
list($a,$b,$c)=getArr();

3、从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用运算符&
global $arr;
$arr=array(3);
function & return_reference(){
   global $arr;
    print_r($arr);
    return $arr;
}

$newref=& return_reference();
$newref[0]=4;
$newref=& return_reference();

4、匿名函数
class Cart{
    const PRICE_BUTTER=1.00;
    const PRICE_MILK=3.00;
    const PRICE_EGG=6.95;
    
    protected $products=array();

    public function getQuantity($product){
        return isset($this->products[$product])?$this->products[$product]:FALSE;
    }
    
    public function getTotal($tax){
        $total=0.00;
        $callback=function($quantity,$product) use ($tax,&$total){
            $pricePerItem=constant(__CLASS__."::PRICE_".strtoupper($product));
            $total +=($pricePerItem*$quantity)*($tax+1.0);    
            
        }
         array_walk($this->products,$callback);
         return round($total,2);
    }
}
$mycart=new Cart;
$mycart->add('butter',1);
$mycart->add('milk',3);
$mycart->add('eggs',6);
echo $mycart->getTotal(0.05);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值