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; //正确,可以使用
来源:https://www.cnblogs.com/xiondun/p/12463341.html
标签:PHP,const,global
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
virtualenv实现多个版本Python共存
2021-11-27 00:50:44
![](https://img.aspxhome.com/file/2023/6/64706_0s.png)
pandas中Timestamp类用法详解
2022-12-06 14:30:54
使用 pytorch 创建神经网络拟合sin函数的实现
2023-02-04 03:31:40
![](https://img.aspxhome.com/file/2023/3/94163_0s.png)
分析python切片原理和方法
2021-04-19 21:39:03
![](https://img.aspxhome.com/file/2023/7/110047_0s.png)
Vue传参一箩筐(页面、组件)
2024-05-29 22:44:13
![](https://img.aspxhome.com/file/2023/9/123039_0s.png)
Python实现投影法分割图像示例(二)
2021-04-19 01:53:18
![](https://img.aspxhome.com/file/2023/7/133887_0s.jpg)
ChatGpt无法访问或错误码1020的几种解决方案
2023-03-03 05:58:36
从go语言中找&和*区别详解
2024-04-30 10:04:50
![](https://img.aspxhome.com/file/2023/0/130700_0s.png)
Random 在 Python 中的使用方法
2022-04-29 14:21:37
![](https://img.aspxhome.com/file/2023/3/131093_0s.png)
宝丽通实现连续播放实现代码
2022-08-14 22:17:45
Python连接es之查询方式示例汇总
2023-06-07 11:11:03
Python Asyncio模块实现的生产消费者模型的方法
2022-02-10 16:13:49
Python内置方法实现字符串的秘钥加解密(推荐)
2023-10-22 23:45:35
![](https://img.aspxhome.com/file/2023/8/103318_0s.jpg)
SQL Server 2019完整安装教程(最新最详细!)
2024-01-23 13:33:12
![](https://img.aspxhome.com/file/2023/8/94438_0s.png)
Python利用hashlib实现文件MD5码的批量存储
2021-12-20 20:48:02
![](https://img.aspxhome.com/file/2023/4/112774_0s.png)
用js更好地截取定长字符串
2008-01-16 12:48:00
Python splitlines使用技巧
2023-01-11 01:13:56
python实操练习案例(一)
2022-01-18 12:10:41
![](https://img.aspxhome.com/file/2023/6/115176_0s.png)
详解Vue3如何加载动态菜单
2024-04-27 15:56:52
![](https://img.aspxhome.com/file/2023/5/133085_0s.png)
three.js实现炫酷的全景3D重力感应
2024-04-25 13:12:37
![](https://img.aspxhome.com/file/2023/8/135538_0s.jpg)