PHP中const和global如何定义常量并实现全局常量引用的实例解析?

2026-04-01 07:041阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计718个文字,预计阅读时间需要3分钟。

PHP中const和global如何定义常量并实现全局常量引用的实例解析?

常量定义规则:

1.常量在定义时必须被初始化。

2.定义时不能添加任何修饰符。

3.变量名通常大写。

4.常量可以被子类继承。

5.常量属于类,而非某个对象,其值固定不变。

const 常量

  • 1.在定义时必须被初始值,
  • 2.前面不加任何修饰符
  • 3.变量名字母一般都大写
  • 4.常量可以被子类继承
  • 5.一个常量是属于一个类的,而不是某个对象的

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

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

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

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

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

<?php defined('TEXT');//检查一个名称的常量是否存在 classA { constTAX_RATE=0.08; publicfunctionpayTax($var) { return$var*A::TAX_RATE; } } $a=newA(); 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(超全局变量) — 引用全局作用域中可用的全部变量, 一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

<?php function test() { $foo = "local variable"; echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n"; echo '$foo in current scope: ' . $foo . "\n"; } $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; //正确,可以使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

PHP中const和global如何定义常量并实现全局常量引用的实例解析?

本文共计718个文字,预计阅读时间需要3分钟。

PHP中const和global如何定义常量并实现全局常量引用的实例解析?

常量定义规则:

1.常量在定义时必须被初始化。

2.定义时不能添加任何修饰符。

3.变量名通常大写。

4.常量可以被子类继承。

5.常量属于类,而非某个对象,其值固定不变。

const 常量

  • 1.在定义时必须被初始值,
  • 2.前面不加任何修饰符
  • 3.变量名字母一般都大写
  • 4.常量可以被子类继承
  • 5.一个常量是属于一个类的,而不是某个对象的

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

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

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

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

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

<?php defined('TEXT');//检查一个名称的常量是否存在 classA { constTAX_RATE=0.08; publicfunctionpayTax($var) { return$var*A::TAX_RATE; } } $a=newA(); 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(超全局变量) — 引用全局作用域中可用的全部变量, 一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

<?php function test() { $foo = "local variable"; echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n"; echo '$foo in current scope: ' . $foo . "\n"; } $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; //正确,可以使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

PHP中const和global如何定义常量并实现全局常量引用的实例解析?