zoukankan      html  css  js  c++  java
  • PHP use闭包函数

    <?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 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) 

    // echo __CLASS__ ."::PRICE_" . strtoupper($product);die;

    $pricePerItem = constant(__CLASS__ ."::PRICE_" . strtoupper($product)); 

    // echo $pricePerItem.'<br>';

    $total += ($pricePerItem *$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); 

    // 打出出总价格,其中有 5% 的销售税. 

    print $my_cart->getTotal(0.05) . " "; 

    // The result is 54.29 

    ?>

  • 相关阅读:
    Hadoop 2.5.1集群安装配置
    Hadoop 2.5.1编译
    CloudStack安装
    Swift安装
    频率分布折线图与总体密度曲线
    频率直方图(hist)
    分位数(quantile)
    茎叶图(stem)
    盒图(boxplot)
    R语言学习
  • 原文地址:https://www.cnblogs.com/chengfengchi/p/10185659.html
Copyright © 2011-2022 走看看