我知道匿名函数是对象,但它们是什么类型的对象? E.g
function test() {
return function() {
return "Hello World!";
};
}
$test = test();
print gettype($test())
结果
object
我试图看看它是否是Closure的一个实例,但它不是。
if($test() instanceof \Closure) {
print "Hello World!";
}
那么它继承了什么对象?如何在PHP中找到它?
答案 0 :(得分:3)
这种功能的确属于“封闭”类型:
<?php
var_dump(function() {
return "Hello World!";
});
输出结果为:
object(Closure)#1 (0) {
}
类型比较也提供了预期的结果:
var_dump(function() {
return "Hello World!";
} instanceof \Closure);
这将导致:
bool(true)