一个超全局变量的问题

[复制链接]
查看11 | 回复2 | 2010-7-9 03:24:28 | 显示全部楼层 |阅读模式
我在一个php文件a.php中创建了一个变量
$a=5;
然后我在b.php文件中,用$GLOBALS['a']得不到这个值呢?不是说$_GLOBALS是什么超全局变量吗?在一个域名下的哪个php文件中都能访问吗?
如果这个方法不行,那么我如何在b.php文件中或该网站的其它php文件中,能够得到这个$a的值呢?(不算require等方法,那跟重新声明没什么区别。)
第一种方式不可取。你买个虚机是无法改php.ini的。
第二种方式,你的意思是不是在php中只有用session,这个变量才能跨页面使用呢?

回复

使用道具 举报

千问 | 2010-7-9 03:24:28 | 显示全部楼层
全局变量是指可以在程序的任何范围内访问的,比如$_POST, $_GET 等,在函数内部可以访问,在函数外部也可以访问,但普通的函数外定义的变量是不可以在函数内部访问的。比如:$GLOBALS['test'] = 'test';$testVar = 'hi';function showVar(){
echo $GLOBALS['test']; //此行可以显示test,因为这是个全局变量
echo $testVar; //此行并不能显示hi,因为函数内部无法访问$testVar这个普通变量。}showVar(); //显示 test全局变量并不是指变量可以跨文件访问,跨文件访问PHP是做不到的,要访问
回复

使用道具 举报

千问 | 2010-7-9 03:24:28 | 显示全部楼层
1)可以将php.ini文件中的register_globals 值改为 on,然后在声明变量时,前面加上global,但这种方式不安全2)可以使用全局变量$_SESSION、$_ENV、$_GET、$_POST、$_COOKIE和$_SERVER中的一个,比如你这里适合使用$_SESSION或$_SERVER a.php中声明时$_SESSIO
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行