如何解决在 PHP 中,什么是闭包,为什么它使用“use”标识符?
这就是 PHP 表达闭包的方式。这根本不是邪恶的,事实上它非常强大和有用。
基本上,这意味着您允许匿名函数在其范围之外“捕获”局部变量(在这种情况下,$tax
以及对
的引用$total
)并将它们的值(或在$total
引用$total
自身的情况下)作为状态保存在匿名函数本身。
解决方法
我正在检查一些PHP 5.3.0
功能,并在网站上遇到了一些看起来很有趣的代码:
public function getTotal($tax)
{
$total = 0.00;
$callback =
/* This line here: */
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);
}
作为匿名函数的示例之一。
有人知道吗?任何文件?它看起来很邪恶,应该使用它吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。