【发布时间】:2011-06-12 11:38:59
【问题描述】:
我想知道为什么当函数在类函数中声明时,php 以不同方式处理函数中声明函数的范围。
例如:
function test() // global function
{
function myTest() // global function. Why?
{
print( "Hello world" );
}
}
class CMyTestClass
{
public function test() // method of CMyTestClass
{
function myTest() // This declaration will be global! Why?
{
print( "Hello world" );
}
}
}
}
谁能向我解释为什么会发生这种情况? 谢谢你的回答。
问候。
【问题讨论】:
-
为了我的好奇,在方法中声明函数有什么好处?
-
@Gordon 你必须先调用它所在的函数才能定义它。
-
@MikeB - 也许还有其他原因,但这种方法可能是一种“匿名功能”的尝试。这样做的正确格式在这里:php.net/manual/en/functions.anonymous.php