【问题标题】:PHP What type of object is an anonymous function? [duplicate]PHP 什么类型的对象是匿名函数? [复制]
【发布时间】:2017-06-14 08:11:40
【问题描述】:

我知道匿名函数是对象,但它们是什么类型的对象?例如

function test() {
    return function() {
        return "Hello World!";
    };
}

$test = test();
print gettype($test())

结果

object

我试图查看它是否是闭包的实例,但不是。

if($test() instanceof \Closure) {
    print "Hello World!";
}

那么它继承自什么对象,我如何在 PHP 中找到它?

【问题讨论】:

标签: php closures anonymous-function


【解决方案1】:

这样的函数确实属于“闭包”类型:

<?php
var_dump(function() {
    return "Hello World!";
});

输出是:

object(Closure)#1 (0) {
}

而且类型比较也提供了预期的结果:

var_dump(function() {
    return "Hello World!";
} instanceof \Closure);

这将导致:

bool(true)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多