【发布时间】:2011-08-02 16:54:50
【问题描述】:
我面临一个奇怪的问题,包括 php 文件。让我给你看代码:
// constants.php
$MYSQL_HOST_PORT = 'localhost:3306';
// functions.php
include 'constants.php';
function getVar() {
echo $MYSQL_HOST_PORT;
}
// doSth.php
include 'functions.php';
echo $MYSQL_HOST_PORT; // The variable is visible and echoed normally as expected!
echo getVar(); // The variable is not echoed! its "".
有什么想法吗?
【问题讨论】:
-
这是一个范围问题,而不是包含问题。函数在 PHP 中有自己的作用域。见php.net/manual/en/language.variables.scope.php
-
好的!这是一个范围问题!你看我来自 c++、obj-c 等!谢谢!解决了。
标签: php variables include nested visibility