`
天梯梦
  • 浏览: 13651240 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

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

阅读更多

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

 

$a=123;

function aa(){
    Global $a;   //如果不把$a定义为global变量,函数体内是不能访问$a的
    echo $a;
}

aa();
 

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

 

$glpbal $a;
$a=123;

function f(){
    echo $a;    //错误,
}

 

//再看看下面一例

 

function f(){
    global $a;
    $a=123;
}

f();
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

分享到:
评论

相关推荐

    深入理解变量作用域

    全局(global)变量的作用域是全局性的,在javascript中,它的存在都有定义。而在函数之内声明的变量,就只在函数体内部有定义。它们是局部(local)变量,作用域是全局性的。函数的参数也是局部变量,它们只在函数体...

    Python 如何访问外围作用域中的变量

    global 作用域,即代码所在的模块的作用域 如果上述作用域内都找不到变量,就会报 NameError 异常。 但是对变量赋值时,规则会有所不同。 如果当前作用域变量已存在,那么其值会被替换。 如果不存在,则会视为在...

    基于js的变量提升和函数提升(详解)

    变量提升即将变量声明提升到它所在作用域的最开始的部分。 上个简历的例子如: console.log(global); // undefined var global = 'global'; console.log(global); // global function fn () { console.log(a); // ...

    JS 作用域与作用域链详解

    在函数内声明的变量具有函数作用域(function scope),属于局部变量 局部变量优先级高于全局变量 代码如下: var name=”one”; function test(){  var name=”two”;  console.log(name); //two } test(); 函数...

    JavaScript作用域、闭包、对象与原型链概念及用法实例总结

    嵌套作用域变量搜索规则:当在函数中引用一个变量时,JS会搜索当前函数作用域,如果没有找到则搜索其上层作用域,一直到全局作用域。 var value = 'global'; var f1 = function(){ console.log

    javascript中的作用域和闭包详解

    JavaScript变量实际上只有两种作用域,全局变量和函数的内部变量。在函数内部任何一个地方定义的变量(var scope)其作用域都是整个函数体。 全局变量:指的是window对象下的对象属性。 作用域划分:基于上下文,以...

    js作用域及作用域链概念理解及使用

    在函数内声明的变量具有函数作用域(function scope),属于局部变量 局部变量优先级高于全局变量 var name=one; function test(){ var name=two; console.log(name); //two } test(); 函数内省略var的,会影响...

    JavaScript变量的作用域全解析

    变量作用域是程序中定义这个变量的区域。 先来看一段示例: /* 代码1 */ var scope = "global "; function checkScope() { var scope = "local "; function childCheck() { var scope = "childLocal "; ...

    浅谈Nodejs中的作用域问题

    在JS中有全局作用域和函数作用域,而在Nodejs中也自己的作用域,分为全局作用域(global)和模块作用域。 js作用域: 以前学js的时候我们的全局对象是window,如: var a = 10; console.log(window.a); 我们定义的...

    PHP Global定义全局变量使用说明

    很不习惯PHP中的变量作用域,PHP中函数变量和全局是完全隔绝的,也就是无法相互访问。比如下面这样:复制代码 代码如下:$test = 123; abc(); //这里什么都不输出,因为访问不到$test变量function abc(){ echo($...

    javascript 作用于作用域链的详解

    任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 全局作用域(Global ...

    JavaScript必知必会(五) eval 的使用

    在全局作用域引用eval,改变全局作用域的值,不改变局部作用域的值 var g = eval; //全局引用eval var x = "global";//定义全局变量 (function f() { var x = "local"; g("x+='changed'"); ale

    深入理解javascript作用域和闭包

    作用域是一个变量和函数的作用范围,javascript中函数内声明的所有变量在函数体内始终是可见的,在javascript中有全局作用域和局部作用域,但是没有块级作用域,局部变量的优先级高于全局变量,通过几个示例来了解下...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    标题:PHP基础教程 出处:风流的CG网络日志 时间:Mon, 28 Aug 2006 07:24:34 +0000 作者:yufeng 地址:http:///read.php?38 内容: 提供给新手学习的 PHP新手教程,是一个比较有价值的PHP新手教程! 一、PHP...

    JAVASCRIPT函数作用域和提前声明 分享

    一些语言如C、java都有块级作用域,即花括号内的每一段代码都具有各自的作用域,而且变量在声明它们的代码段之外是不可见的,但是javascript没有块级作用域。javascript使用函数作用域,即变量在声明它们的函数体...

    图文详解Javascript中的上下文和作用域

    执行上下文(Execution context) 执行上下文(简称上下文)决定了Js执行过程中可以...需要注意的是,上下文与作用域(scope)是不同的概念。Js本身是单线程的,每当有function被执行时,就会产生一个新的上下文,这一

    JavaScript 变量作用域分析

    代码如下: /* 代码1 */ var scope = “global “; function checkScope() { var scope = “local “; function childCheck() { var scope = “childLocal “; [removed](scope); } function childUndefined() { ...

    详解JS预解析原理

    当浏览器加载我们的HTML页面的时候,首先会提供一个供JS代码执行的环境->全局作用域global(浏览器中的全局作用域,也叫顶级作用域是window) JS中的内存空间分为两种:栈内存、堆内存 栈内存;提供JS代码执行的...

    C++常用术语中英对照

    * scope:范围,指变量或函数的作用域 * stack:栈,指程序运行时的调用栈 十二、语法 * statement:语句,指编程语言中的单个语句 * string:字符串,指一系列字符的集合 * substring:子字符串,指字符串中的一...

    结合代码图文讲解JavaScript中的作用域与作用域链

    先上三段说明作用域的代码 //==========例1========== var scope='global'; function fn(){ alert(scope); var scope='local'; alert(scope); } fn(); //输出结果? alert(scope);//...

Global site tag (gtag.js) - Google Analytics