PHP:为什么`get_defined_functions`中缺少一些内部函数?

时间:2013-12-22 02:31:51

标签: php function

PHP具有大量包含电池的功能,例如: functions on arrays。其中一些内容(例如each)出现在get_defined_functions()['internal']中。其他人,如reset和许多其他人,根本就不存在。但是,它们被视为以其他方式处理的函数:它们不被记录为“语言结构”或关键字;我可以使用“变量函数”功能调用它们; function_exists("reset")返回true;如果我尝试重新定义它们(例如function reset() { ... }),我会收到有关重新声明的错误,而不是语法错误;等等。

为什么get_defined_functions没有列出这些功能?它们实际上不是功能吗?如果没有,他们是什么?如果它们是函数,那么get_defined_functions列出的是什么呢?在任何一种情况下,如何列出get_defined_functions中未出现的内容?

1 个答案:

答案 0 :(得分:1)

很简短的回答:重置在get_defined_functions()['internal']中。

请看这个小提琴中的[1532]:http://phpfiddle.org/main/code/h5n-ndx