PHP const定义常量及global定义全局常量实例解析 |
const 常量
作用:当某些值是固定不变的,就用const 1.const 定义的常量和define()定义的常量的区别? 希望一个成员变量不被修改 例如圆周率 3.1415926 定义:const 常量名=值; 没有$符 访问:类名 ::常量名 或 接口名::常量名 <?php defined('TEXT'); //检查一个名称的常量是否存在 class A { const TAX_RATE = 0.08; public function payTax($var) { return $var * A::TAX_RATE; } } $a = new A(); echo $a->payTax(200);
2.global定义的全局常量和$GLOBALS的区别? $GLOBALS(超全局变量) — 引用全局作用域中可用的全部变量, 一个包含了全部变量的全局组合数组 。变量的名字就是数组的键 。 <?php function test() { $foo = "local variable"; echo '$foo in global scope: ' . $GLOBALS["foo"] . " "; echo '$foo in current scope: ' . $foo . " "; } $foo = "Example content"; test(); Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件 代码如下: <?PHP $a = 123; function aa() { global $a; //如果不把$a定义为global变量,函数体内是不能访问函数体外部的$a的,但是可以定义一个相同的名字$a,此时这个变量是局部echo $a; //变量,只能在函数体内部使用 。 } aa(); 总结:在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用, 代码如下: <?php global $a; $a = 123; //必须分开赋值 function f() { echo $a; //错误, } //再看看下面一例 function f() { global $a; $a = 123; } f(); echo $a; //正确,可以使用 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家 。 |