区别:1、const用于类成员变量的定义,而define不可用于类成员变量的定义;2、const只接受静态的标量,而define可以采用任何表达式;3、const定义常量时大小写敏感,但define可以通过第三个参数来指定大小写是否敏感。

常量默认大小写敏感,通常常量的标识符总是大写的。
可以用define()函数来定义常量,在php5.3.0之后,可以使用const关键字在类定义的外部定义常量,先前版本const关键字只能在类(class)中使用。
常量只能包含标量数据 (boolean,integer,float,string)。可以定义resource常量,但应该尽量避免。
定义常量
define("PI", 3.14); echo PI; // 3.14 echo pi; // 输出 "pi" 并发出一个Warning信息 // 以下代码在 PHP 5.3.0 后可以正常工作 const RATE = 'Hello World'; echo RATE;
在PHP中定义常量时,const与define的区别
1、const本身是一个语言结构,而define是一个函数。
2、const在编译时要比define快很多
3、const用于类成员变量的定义,而define不可用于类成员变量的定义
4、const不能在条件语句中使用
if (...){ const FOO = 'BAR'; // 无效的 } if (...) { define('FOO', 'BAR'); // 有效的 }
5、const只接受静态的标量,而define可以采用任何表达式
const BIT_5 = 1 << 5; // 无效的 define('BIT_5', 1 << 5); // 有效的
6、const定义常量时大小写敏感,但define可以通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感
define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR
动态常量名
如果常量名是动态的,也可以用函数constant()来获取常量的值。用get_defined_contstants()可以获得所有已定义的常量列表。
define('PI',3.14); $chang = 'PI'; echo $chang,'
'; // PI echo constant($chang); // 3.14
defined — 检查某个名称的常量是否存在
// 真实开发一般是这样的 if(!defined('HEI')){ define('HEI',8846); }
相关教程推荐:《PHP教程》
Atas ialah kandungan terperinci php中define和const的区别是什么?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Bagaimana untuk membuka fail php
c penggunaan const bahasa
Perbezaan antara typedef dan define
Bagaimana untuk mengalih keluar beberapa elemen pertama tatasusunan dalam php
Apa yang perlu dilakukan jika penyahserialisasian php gagal
Cara menggunakan define
Bagaimana untuk menyambungkan php ke pangkalan data mssql
Bagaimana untuk menyambung php ke pangkalan data mssql