【问题标题】:Calling a function before it is declared [duplicate]在声明函数之前调用它[重复]
【发布时间】: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


【解决方案1】:

在大多数情况下,在 PHP 中声明函数的位置并不重要,正如您刚刚证明的那样:)

查看this page 了解更多详情。重点:

函数在被引用之前不需要定义,除非一个函数是有条件地定义的,如下面的两个例子所示。

【讨论】:

  • 谢谢,该页面表明嵌套问题也适用于块范围
猜你喜欢
  • 2018-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-02
  • 2012-08-03
  • 1970-01-01
  • 2021-12-19
相关资源
最近更新 更多