为什么
PHP允许嵌套函数?
<?PHP function foo() { function bar() { return "bar"; } return "foo"; } print foo(); print bar();
..是有效的PHP.
但:
>为什么需要嵌套?
>即使如此,为什么我可以从任何地方调用bar(而不是,例如只用foo(),或者通过foo.bar()等.
我今天碰到了这个,因为我在某个地方忘记了一个结束括号,而且还有一个太多了.代码有效,没有错误抛出;但这一切都开始表现得非常奇怪.函数未被声明,回调变得狂暴等等.
这是一个功能,如果是这样,目的是什么?还是有些特质?
答案:评论员指出这是What are php nested functions for的副本.