当前位置:首页 > PHP教程 > php应用 > 列表

PHP const定义常量及global定义全局常量实例解析

发布:smiling 来源: PHP粉丝网  添加日期:2022-03-10 09:10:16 浏览: 评论:0 

这篇文章主要介绍了PHP const定义常量及global定义全局常量实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。

const 常量

1.在定义时必须被初始值,

2.前面不加任何修饰符

3.变量名字母一般都大写

4.常量可以被子类继承

5.一个常量是属于一个类的,而不是某个对象的

作用:当某些值是固定不变的,就用const

1.const 定义的常量和define()定义的常量的区别?

希望一个成员变量不被修改 例如圆周率 3.1415926

定义:const 常量名=值; 没有$符

访问:类名 ::常量名 或 接口名::常量名

  1. <?php 
  2. defined('TEXT'); //检查一个名称的常量是否存在 
  3. class A 
  4.     const TAX_RATE = 0.08; 
  5.     public function payTax($var
  6.     { 
  7.         return $var * A::TAX_RATE; 
  8.     } 
  9. $a = new A(); 
  10. echo $a->payTax(200); 

用法一:const用于类成员变量,一经定义不可修改,define用于全局常量,不可用于类成员变量的定义,const可在类中使用,define不能。

用法二:const定义的常量大小写敏感,而define可通过第三个参数(为TRUE表示大小写不敏感)来指定大小写是否敏感。在运行时定义一个常量。define('TXE',100,TRUE);

用法三:const不能在条件语句中定义常量,而define函数可以,if($a>10){define('LE','hello');}

2.global定义的全局常量和$GLOBALS的区别?

$GLOBALS(超全局变量) — 引用全局作用域中可用的全部变量, 一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

  1. <?php 
  2. function test() 
  3.   $foo = "local variable"
  4.   echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n"
  5.   echo '$foo in current scope: ' . $foo . "\n"
  6.  
  7. $foo = "Example content"
  8. test(); 

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

代码如下:

  1. <?PHP 
  2. $a = 123; 
  3. function aa() 
  4.   global $a//如果不把$a定义为global变量,函数体内是不能访问函数体外部的$a的,但是可以定义一个相同的名字$a,此时这个变量是局部echo 
  5.  
  6.   $a//变量,只能在函数体内部使用。 
  7. aa(); 

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

  1. <?php 
  2. global $a
  3. $a = 123; //必须分开赋值 
  4. function f() 
  5.   echo $a//错误, 
  6. //再看看下面一例 
  7. function f() 
  8.   global $a
  9.   $a = 123; 
  10. f(); 
  11. echo $a//正确,可以使用

Tags: const定义常量 global全局常量

分享到: