2012-11-13 70 views
2

以下代码有什么问题?使用闭包时出现奇怪的PHP编译器错误

,当我试图运行棉短绒,它给我:

# PHP Parse error: syntax error, unexpected '}' in test.ph on line 19 

<?php 

    function foo() 
    { 

     return function() 

     { 
      print 'bar'; 
     }  
    } 
+2

你需要PHP 5.3+使用倒闭 – Esailija

+4

该代码是无效的,即使在PHP/5.4。 @Korikulum指出他错过了一个半角。 –

+0

完全相同,如果问题指定了正在使用的PHP版本,考虑到不支持闭包的版本中的PHP安装数量,它会非常有用。 – SDC

回答

5

returnexpression需要到另一端,有一个正确的语法。

// correct syntax 
return EXPRESION; 

// your function 
function foo() 
{ 
    return function() 
    { 
     print 'bar'; 
    }; // You need to add a semicolon. 
}