我试图在PHP中使用闭包有一个奇怪的问题.为变量赋值闭包时,我得到一个null值.但是当显示封闭时var_dump(),一切都很好.
这是一个总结问题的源代码:
$f = function() {};
var_dump($f); // 'null'
var_dump(function() {}); // 'object(Closure)[1]'
Run Code Online (Sandbox Code Playgroud)
我正在使用PHP 5.3.1.
编辑:我忘了提,我只有在通过Apache使用PHP时才会出现这个问题.使用PHP CLI时没有问题.
这要么是一个非常罕见(并且已经修复)的错误,要么您没有显示与给您 NULL 的完全相同的用法。我的猜测是你正在用第一个来做这个var_dump():
var_dump($f());
Run Code Online (Sandbox Code Playgroud)
请注意括号,它们会导致函数运行,因此您会得到它的返回值。
| 归档时间: |
|
| 查看次数: |
265 次 |
| 最近记录: |