永发信息网

今天遇到个很奇怪的问题,PHP的GLOBAL访问不到全局变量。

答案:2  悬赏:30  手机版
解决时间 2021-02-24 03:39
$Auth_Setup=array(
'UserTable'=>'user', //用户数据表
'UserField'=>'UserName', //用户名字段
'PasswordField'=>'Password', //密码字段名
'Cookies_User'=>'User', //用户Cookies名
'Cookies_Token'=>'Token', //令牌Cookies名
'Cookies_Time'=>604800, //Cookies生命周期
'Token_Time'=>604800, //令牌生命周期,建议和Cookies数值一致
'TokenTable'=>'token', //令牌数据表名
'TokenTable_UserField'=>'User', //令牌数据表_用户名字段
'TokenTable_TokenField'=>'Token', //令牌数据表_令牌字段名
'TokenTable_CreateDateField'=>'CreateDate', //令牌数据表_令牌生成时间字段名
'TokenTable_TimeField'=>'Time', //令牌数据表_令牌有效时间字段名
'LoginURL'=>'登陆页面地址', //登陆页面地址
);


Function setup($strKeyName){
GLOBAL $Auth_Setup;
echo '
打印数组:';
print_r($Auth_Setup);
if(empty($strKeyName)===TRUE){
die('
传参为空');
}
if(is_string($strKeyName)===FALSE){
die('
传参不是有效数据类型。');
}
if(array_key_exists($strKeyName,$Auth_Setup)===TRUE){
return $Auth_Setup[$strKeyName];
}else{
die('
Auth模块的参数文件报错:要调取的参数名不存在。参数名:'.$strKeyName);
}
}

--------------------------------------------------------------
很简单,函数是一个封装函数,用于调用数组内的设置。但遇到个奇慢问题这个数组变量用GLOBAL引用进来后,确是空的。这是个是个PHP的BUG?
另外说明一下,这段代码的文件是被包含进另一个有命名空间的文件内。
最佳答案
GLOBAL变量(超全局变量) 不是这样用的吧...  好像应该是

$GLOBALS['Auth_Setup']=array(
'UserTable'=>'user', //用户数据表
'UserField'=>'UserName', //用户名字段
'PasswordField'=>'Password', //密码字段名
'Cookies_User'=>'User', //用户Cookies名
'Cookies_Token'=>'Token', //令牌Cookies名
'Cookies_Time'=>604800, //Cookies生命周期
'Token_Time'=>604800, //令牌生命周期,建议和Cookies数值一致
'TokenTable'=>'token', //令牌数据表名
'TokenTable_UserField'=>'User', //令牌数据表_用户名字段
'TokenTable_TokenField'=>'Token', //令牌数据表_令牌字段名
'TokenTable_CreateDateField'=>'CreateDate', //令牌数据表_令牌生成时间字段名
'TokenTable_TimeField'=>'Time', //令牌数据表_令牌有效时间字段名
'LoginURL'=>'登陆页面地址', //登陆页面地址
);

Function setup($strKeyName){
//GLOBAL $Auth_Setup;
 $Auth_Setup=$GLOBALS['Auth_Setup'];
echo '打印数组:';
print_r($Auth_Setup);
if(empty($strKeyName)===TRUE){
die('传参为空');
}
if(is_string($strKeyName)===FALSE){
die('传参不是有效数据类型。');
}
if(array_key_exists($strKeyName,$Auth_Setup)===TRUE){
return $Auth_Setup[$strKeyName];
}else{
die('Auth模块的参数文件报错:要调取的参数名不存在。参数名:'.$strKeyName);
}
}
全部回答
搜一下:今天遇到个很奇怪的问题,PHP的GLOBAL访问不到全局变量。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
摄像机拍LED灯带发抖是什么原因
红蚂蚁餐厅怎么去啊,有知道地址的么
成功茶行地址在什么地方,想过去办事,
孙家涧我想知道这个在什么地方
烧开的自来水表面出现的油状漂浮物是什么?
2002款奥迪a6后备箱打不开怎么办,用遥控和锁
美家居窗帘棉布专卖地址有知道的么?有点事想
下列一组重大事件,按发生时间的先后进行排序
身边 可持续发展 事例
内心强大的人到底经历了什么大苦大难
为什么空调制冷有风 切换到制热却没风了??
常见几种洋酒的开启方法
那里咖啡酒吧地址有知道的么?有点事想过去
游戏汉化制作字库要注意什么?
临沂妇产科网络在线咨询?
推荐资讯
1999年五连号100元人民币83099999值多少钱?
苯的同系物通式为什么要用CnH2n+2推
题目(1):某种商品进价为a元 / 件,在销售旺
女性女性小腹正中间疼痛是什么原因
我终于知道什么叫神马级手机控了,太恐怖了
2000mAh的手机电池用5V1A的万能充充电要多久
新动力培训学校桂林第二校区这个地址在什么地
打狂犬疫苗打哪个部位
马云的QQ号码多少啊???.
康德说:“启蒙运动就是人类脱离自己所加之于
云柜在哪里啊,我有事要去这个地方
左图为“某地区人口密度”,右图为“某地区生
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?