一直在努力使一些简单的代码工作,但是面对一个变量的全局/本地范围的问题。
这是我尝试开始工作的代码。此代码包含在由Javascript中的AJAX GET过程调用的PHP文件中。下面的代码块中没有出现任何GET变量。
$location = "./Treewindow/tree_structure.xml";
function openXML($url) {
if (file_exists($url)) {
$xml = simplexml_load_file($url);
}
else {
echo("Failed to open XML at ".$url);
exit;
}
}
function cubicleAvailableSpace() {
openXML($location);
}
当我调用最后一个函数时:
cubicleAvailableSpace();
我明白了:
Failed to open XML at
为什么变量$ location在函数cubicleAvailableSpace()中无法识别?!我认为这个PHP代码中的所有函数都被认为是“可见的”......
现在,我确信这很容易,但我整个下午都试着做这个工作......看看周围的地方,但找不到任何帮助我的回复(尽管这个网站上有很多这样的案例) ) 当然,当我用实际值(“./Treewindow/tree_structure.xml”)替换变量时,一切正常:XML文件位于正确的位置: - )
你能帮我找到什么问题吗?让这个$ location变量在两个函数中都可见吗?
由于
答案 0 :(得分:3)
试试这个
function cubicleAvailableSpace() {
global $location;
openXML($location);
}
你在函数外面声明了变量,因此它在内部是不可读的。