基础知识

1、定义常量define与const的区别

  define('PI',3.14,true);

  const PI 3.14;

 

  ①const是一个语言结构,而define是一个函数。define的第三个参数来指定是否区分大小写,true表示不区分,默认为false

  ②const简单易读,编译时要比define快很多

  ③const可以在类中使用,用于类成员常量定义。define不能在类中使用,可用于全局变量

  ④const是在编译时定义,因此必须处于最顶端的作用域,不能在函数、循环和if条件找那个使用。而define是函数,在任何能够调用函数的地方都能使用

  ⑤const的常量名必须是普通的常量名,define的常量名中可以有表达式

  ⑥const定义的常量只能是静态常量,define可以是任意表达式

④样例
  if (...){
    const FOO = 'BAR';    // 无效的invalid
  }
  if (...) {
    define('FOO', 'BAR'); // 有效的valid
  }
⑤样例
  const  FOO = 'BAR';
  for ($i = 0; $i < 32; ++$i) {
     define('BIT_' . $i, 1 << $i);
  }
⑥样例
  const BIT_5 = 1 << 5;    // valid since PHP 5.6
  define('BIT_5', 1 << 5); // 有效的valid

 

posted @ 2019-06-05 10:23  李松伟  阅读(158)  评论(0编辑  收藏  举报