【发布时间】:2014-11-30 08:10:25
【问题描述】:
以下代码在 PHP 中运行
<?php
$foo = "Chocolate milkshake";
go($foo);
function go($param) {
echo $param;
}
?>
// Output: chocolate milkshake
查看此演示 http://codepad.viper-7.com/ToApZa
这段代码运行没有错误并打印指定的输出,为什么? 我以为这种“函数提升”只发生在 JavaScript 中
【问题讨论】:
-
PHP 不是逐行解释的。解析器确实准备了一个函数声明表。不过,它们需要在脚本最外层的全局代码块中声明。延迟和嵌套函数不会被这样使用。
-
我想知道是不是这样 - 做了一个小测试here - 谢谢
标签: php