为什么PHP允许嵌套函数?嵌套PHP函数:为了什么目的?
<?php
function foo() {
function bar() {
return "bar";
}
return "foo";
}
print foo();
print bar();
..是有效的PHP。
但是:
- 为什么会没有需要嵌套?即使如此,为什么我可以从任何地方调用bar(而不是,例如只用foo()或trough foo.bar()等)。
我今天遇到了这个,因为我忘了一个闭合支架的某个地方,并且还有一个更多的下降。该代码是有效的,没有错误抛出;但这一切开始表现得很奇怪。函数没有被声明,回调会疯狂等等。 这是一个功能,如果是这样,为了什么目的?还是一些特质?
答案:评注者指出,这是一个复制的What are php nested functions for。
可爱。好像PHP需要另一个原因来获得仇恨... – 2010-11-15 17:29:10
已经很好地覆盖了:[可能是[为什么是PHP嵌套功能?]的重复(http://stackoverflow.com/questions/415969/what-are- php-nested-functions-for) – meagar 2010-11-15 17:30:09
另外,仅仅因为你不明白的东西并不会使它成为“idiocracy”,这不是一个字。 – meagar 2010-11-15 17:32:31