php - 确定变量是否是 PHP 中的有效闭包

标签 php reflection closures

使用以下函数:

function is_closure($t) { return ( !is_string($t) && is_callable($t)); }

除了匿名闭包函数之外,这还能返回 true 吗?如果是这样,确定变量是否为闭包的正确方法是什么?

非常感谢

最佳答案

检查回调是否为实际闭包的最确定方法是:

function is_closure($t) {
    return $t instanceof \Closure;
}

在 PHP 中,所有匿名函数都表示为 Closure 类型的对象。 (回到上面的评论,恰好实现了 __invoke() 方法。)

关于php - 确定变量是否是 PHP 中的有效闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7101469/

相关文章:

php - $_SESSION 对 sql 注入(inject)安全吗?

php - 避免电子商务场景中的竞争条件

php - 从带引号的标签和值的格式化分隔字符串中获取值

Java将csv文件转为java对象(泛型相关)

C# 循环内 lambda 的底层代码生成

php - 简体中文字符显示为问号菱形

reflection - 使类型指向带有反射的指针

java - 使用反射从对象获取数组列表大小

javascript - 如何访问此闭包返回值中的函数

swift - 异步调用全部成功或者都不成功,如何处理