PHP 闭包使用 function use
程序员文章站
2024-01-03 22:39:46
...
//计数器
$int = 1;
return function()use(&$int){echo $int++;};
}
$count1 = counter();
$count2 = counter();
$count1(); //output 1
$count2(); //output 1
$count1(); //output 2
$count2(); //output 2
//计算购物车的金额、税额
function calculate($cart = array()) {
$amt = 0;
$amt_tax = 0;
$amt_price = 0;
$taxRate = 0.17;
$callback = function($goods_info, $goods_name) use (&$amt, &$amt_tax, &$amt_price, $taxRate) {
extract($goods_info);
echo " 商品: ". $goods_name;
echo " 数量:".$num;
$goods_amt_tax = bcmul($price, $num, 2);
$goods_price = round(bcdiv($price, bcadd($taxRate, 1, 2), 12), 6);
echo " 单价:".$goods_price;
$goods_amt = round(bcmul($goods_price, $num, 6), 2);
echo " 金额:".$goods_amt;
$goods_tax = bcsub($goods_amt_tax, $goods_amt, 2);
echo " 税额:".$goods_tax. "\n";
$amt = bcadd($amt, $goods_amt_tax, 2);
$amt_tax = bcadd($amt_tax, $goods_tax, 2);
$amt_price = bcadd($amt_price, $goods_amt, 2);
};
array_walk($cart, $callback);
echo "合计金额:". $amt_price. "\n";
echo "合计税额:". $amt_tax. "\n";
echo "金税合计:". $amt. "\n";
}
$cart = array("apple"=>array("price"=>20, "num"=>1), "orange"=>array("price"=>15, "num"=>2));
calculate($cart);
以上就介绍了PHP 闭包使用 function use,包括了计数器方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
推荐阅读
-
PHP 闭包使用 function use
-
模型中用闭包实现查询并使用软删除功能-2018年5月25日17点
-
php使用session提示[function.session-start]: open解决方法_PHP教程
-
PHP 5.3闭包语法初探
-
php的正则闭包500错误!快来看看啊!!
-
PHP闭包(Closure)初探
-
python基础(13):函数名的使用、第一类对象、闭包、迭代器
-
PHP闭包(Closure)使用详解_PHP
-
PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题 - 心中的飞梦
-
PHP闭包(Closure)使用详解