很糗,做了很久php,居然连这个知识点都没掌握太好
$GLOBALS["usermenu"]这个全局 变量,想看下在哪里定义,结果搜了整个项目没有搜索到。
于是一条条调试发现在外部定义了$usermenu之后再引用$GLOBALS["usermenu"]才有值
在外面定义的全局变量可以直接是
$GLOBALS["usermenu"];
global $usermenu;
$usermenu;
但是如果在函数里头引用全局变量必须是
function test()
{
//正确
$GLOBALS["usermenu"];
global $usermenu;
//错误
$usermenu;
}
以及常量的定义
define("ROOT","/fdsf/sdfs");
echo ROOT;
function test()
{
echo "--函数里头调用常量:".ROOT;
}
test();
常量的定义用define,并且值不能被改变,常量不需要加$符号引用。包括 在函数里头也不需要引用全局,只要直接使用即可。