温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP const如何定义常量及global定义全局常量

发布时间:2021-03-08 15:04:08 来源:亿速云 阅读:192 作者:TREX 栏目:开发技术

这篇文章主要讲解了“PHP const如何定义常量及global定义全局常量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP const如何定义常量及global定义全局常量”吧!

const 常量

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

  • 2.前面不加任何修饰符

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

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

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

作用:当某些值是固定不变的,就用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);
  • 用法一: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定义全局常量”的内容了,经过本文的学习后,相信大家对PHP const如何定义常量及global定义全局常量这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI