常量的特点
- 和变量不同,值是不变的
- 与变量不同,常量贯穿整个脚本,是自动全局的。
- 有效的常量名以字符或下划线开头{常量名称前面没有 $ 符号,这点也与变量不同)
设置常量
定义常量
使用define()函数来定义常量,它有三个参数
- 1️⃣ 第一个参数定义: 常量的名称
- 2️⃣ 第二个参数定义: 常量的值
- 3️⃣ 第三个参数: 规定常量名是否对大小写不敏感。默认是 false,对大小写敏感。
<?php
// [1] 定义一个大小写敏感的常量
define('My_IP', 'localhost');
echo My_IP . '<br>'; // localhost
// [1-2] 定义一个大小写不敏感的常量,
define('NAME', '向上', true);
echo name . '<br>'; // 向上
// 习惯问题,我们一般都会用全大写来表示常量的名称
常量的作用域
常量的作用域是全局的,即使是在函数内部也可以访问到定义的常量
<?php
define('NAME', '向上');
function myTest() {
echo NAME;
}
myTest(); // 向上
const 定义的常量和 define 定义的常量的区别
- 主要区别
- const 一般是用于类成员变量的定义,所以const可以用于类中,而define不可用用在类中
- const 更为直观,这个单词本身的意思就是常量
- const 是一个语言结构,define是一个函数。所以const的性能上更好
- const 不能再条件语句中使用,define则可以
- const 定义的常量大小写敏感,define可以通过第三个参数为true表示大小写不敏感。
- PHP 5.3 以后的版本。const就可以在类外定义常量,先前版本的const关键字就只能在类中使用