php7之前想要定义一个常量数组,则必须使用const来定义,php5.6版本下定义常量数组方式:
const PEOPLE = [
"age" => 19,
"name" => "小明"
];
而php7新特性中,将可以使用define来定义常量数组,用法如下:
define("PEOPLE", [
"age" => 19,
"name" => "小明"
]);
如果在php5.6版本下使用新特性的define方式则会抛出如下警告:
Warning: Constants may only evaluate to scalar values in /data/compare/define_array.php on line 10
这算是新版本增加的用法吧,比较简单。
同时,以下给出const和define的区别简介:PHP中定义常量define与const
- const是一个语言结构;而define是一个函数,可以通过第三个参数来指定是否区分大小写。true表示大小写不敏感,默认为false
- const简单易读,编译时要比define快很多
- const可在类中使用,用于类成员常量定义,定义后不可修改;define不能在类中使用,可用于全局变量
- const是在编译时定义,因此必须处于最顶端的作用区域,不能在函数,循环及if条件中使用;而define是函数,也就是能调用函数的地方都可以使用
- const只能用普通的常量名,define常量名中可以有表达式
- const定义的常量只能是静态常量,define可以是任意表达式
多看几遍,后面自己试验下,记得更牢固。