zoukankan      html  css  js  c++  java
  • PHP常量详解:define和const的区别

    常量是一个简单的标识符。在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量)。常量默认大小写敏感。通常常量标识符总是大写的。

    一、常量和变量有如下不同

    1、常量前面没有美元符号($)

    2、常量只能通过define()函数定义,而不能通过赋值语句

    3、常量可以不用理会变量的作用域在任何地方定义和访问

    4、常量一旦定义就不能重新定义或取消定义

    5、常量的值只能是标量(boolean、integer、float和string)

    二、const和define的区别

    1、const是一个语言结构;const定义的常量是大小写敏感。而define是一个函数,可以通过第三个参数来指定是否区分大小写。true表示大小写不敏感,默认为false

    define('PI', 3.14, true);

    2、const简单易读,编译时要比define快很多。

    3、const可在类中使用,用于类成员常量定义(在php5.3.0以后,可以使用const关键字在类定义的外部定义常量),定义后不可修改,const在类内定义常量,并且const必须通过类名::变量名来进行访问;define不能在类中使用,可用于全局变量

    4、const是在编译时定义,因此必须处于最顶端的作用区域,不能在函数,循环及if条件中使用;而define是函数,也就是能调用函数的地方都可以使用

    5、const只能用普通的常量名,define常量名中可以有表达式

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

  • 相关阅读:
    前置++和后置++的区别
    snmp数据包分析
    [codeforces538E]Demiurges Play Again
    [codeforces538D]Weird Chess
    [BZOJ3772]精神污染
    [BZOJ4026]dC Loves Number Theory
    [BZOJ1878][SDOI2009]HH的项链
    [BZOJ3658]Jabberwocky
    [BZOJ3932][CQOI2015]任务查询系统
    [BZOJ3551][ONTAK2010]Peaks加强版
  • 原文地址:https://www.cnblogs.com/ivy-zheng/p/10867886.html
Copyright © 2011-2022 走看看