一直在努力使一些简单的代码正常工作,但面临一个变量的全局/局部范围的问题。
这是我试图开始工作的代码。此代码包含在一个PHP文件中,该文件由Javascript中的AJAX GET过程调用。以下代码块中没有出现任何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
为什么在函数cubicleAvailableSpace()中无法识别变量$location?!我认为从这个PHP代码中的所有函数来看,它都是"可见的"。。。
现在,我确信这很容易,但我整个下午都在努力让它发挥作用。。。到处都找了,但找不到任何对我有帮助的回复(尽管这个网站上有很多这样的案例)当然,当我用变量的实际值("./Treewindow/tree_structure.xml")替换变量时,一切都正常:xml文件位于正确的位置:-)
你能帮我找出问题所在,让这个$location变量在两个函数中都可见吗?
感谢
尝试这个
function cubicleAvailableSpace() {
global $location;
openXML($location);
}
您在函数外部声明了变量,因此函数内部不可读。