1. 程式人生 > >關於匿名函數的使用,購物車中計算銷售稅的應用

關於匿名函數的使用,購物車中計算銷售稅的應用

blog 神奇 php匿名函數 ons spa 3.0 walk color back

php匿名函數又叫閉包函數,可以起到精簡代碼的作用,下面是購物車中的應用:

class Cart
{
    const PRICE_BUTTER = 1.00;
    const PRICE_MILK = 3.00;
    const PRICE_EGGS = 6.95;

    protected $products = array();

    public function add($product, $quantity)
    {
        $this->products[$product] = $quantity;
    }

    public function
getTotal($tax) { $total = 0.00; $callback = function ($quantity, $product) use ($tax, &$total) { $priceItem = constant(__CLASS__."::PRICE_".strtoupper($product)); $total += ($priceItem*$quantity) * ($tax+1.0); }; array_walk($this->products, $callback
); return round($total, 2); } }

看懂了使用匿名函數的神奇之處吧!

實例化類:

$my_cart = new Cart();
$my_cart->add(‘butter‘, 1);
$my_cart->add(‘milk‘, 3);
$my_cart->add(‘eggs‘, 6);
print_r($my_cart->getTotal(0.05));

又一次長知識了,666!

關於匿名函數的使用,購物車中計算銷售稅的應用