微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在PHP中,什么是闭包?为什么要使用“ use”标识符?

如何解决在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 举报,一经查实,本站将立刻删除。