php:global变量解析 / function 的作用域

1:Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件

 

Php代码
$a=123;   
  1.   
  2. function aa(){   
  3.     Global $a;   //如果不把$a定义为global变量,函数体内是不能访问$a的   
  4.     echo $a;   
  5. }   
  6.   
  7. aa();  
 

总结:在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,

 

Php代码 复制代码 收藏代码
  1. $glpbal $a;   
  2. $a=123;   
  3.   
  4. function f(){   
  5.     echo $a;    //错误,   
  6. }  
 

//再看看下面一例

 

Php代码 复制代码 收藏代码
  1. function f(){   
  2.     global $a;   
  3.     $a=123;   
  4. }   
  5.   
  6. f();   
  7. echo $a;   //正确,可以使用  
 

 

2:global问题解析:


question:我在config.inc.php中定义了一些变量($a),在别的文件中函数外部 include("config.inc.php"),函数内部需要使用这些变量$a,如果没有声明的话,echo $a是打印不出来任何东西的。因此声明global $a,但是有很多函数和很多变量,总不能不断重复的这样声明吧?有什么好的解决办法,请指点。
answer1:先在config.inc.php里定义常量:define(常量名,常量值)
再在其他需要用到的地方require 'config.inc.php',
然后就能在这个文件里直接使用这个常量了。
answer2:我也有个办法,就是定义数组,如$x[a],$x,那样就只要声明global $x一个了。
answer3:我试了你的这个方法,不行啊。
answer4:改你的php.ini文件。

设置global 为 on

时间:2011-12-06 | 分类:技术文摘 | 标签: PHP  global  function 
评论列表
暂无评论
发表评论
昵称
邮箱
内容