常量的特点

  • 和变量不同,值是不变的
  • 与变量不同,常量贯穿整个脚本,是自动全局的。
  • 有效的常量名以字符或下划线开头{常量名称前面没有 $ 符号,这点也与变量不同)

设置常量

定义常量

使用define()函数来定义常量,它有三个参数

  • 1️⃣ 第一个参数定义: 常量的名称
  • 2️⃣ 第二个参数定义: 常量的值
  • 3️⃣ 第三个参数: 规定常量名是否对大小写不敏感。默认是 false,对大小写敏感。
  1. <?php
  2. // [1] 定义一个大小写敏感的常量
  3. define('My_IP', 'localhost');
  4. echo My_IP . '<br>'; // localhost
  5. // [1-2] 定义一个大小写不敏感的常量,
  6. define('NAME', '向上', true);
  7. echo name . '<br>'; // 向上
  8. // 习惯问题,我们一般都会用全大写来表示常量的名称

常量的作用域

常量的作用域是全局的,即使是在函数内部也可以访问到定义的常量

  1. <?php
  2. define('NAME', '向上');
  3. function myTest() {
  4. echo NAME;
  5. }
  6. myTest(); // 向上

const 定义的常量和 define 定义的常量的区别

  • 主要区别
    • const 一般是用于类成员变量的定义,所以const可以用于类中,而define不可用用在类中
    • const 更为直观,这个单词本身的意思就是常量
    • const 是一个语言结构,define是一个函数。所以const的性能上更好
    • const 不能再条件语句中使用,define则可以
    • const 定义的常量大小写敏感,define可以通过第三个参数为true表示大小写不敏感。
    • PHP 5.3 以后的版本。const就可以在类外定义常量,先前版本的const关键字就只能在类中使用