zjxhx 发表于 2018-12-18 08:03:26

PHP常量

  PHP常量
  

  常量含义:
  

  用于存储一个不会变化也不希望变化的数据的标示符。
  常量命名规则同变量,但习惯上,常常将常量名称使用“全大写”形式。
  

  常量定义形式:
      1:使用define()函数定义
        使用形式: define("常量名",常量值);
              
              define("CONST1",1);
              define("_C2","ABC");//但不推荐使用“--”开头的名字
              define("pi",3.14);
  

        推荐使用全大写定义常量名
  

      2:使用const语法定义

        使用形式:const 常量名 = 常量值

        但const语法只能在“最顶层”的代码域中使用

        也即,const语法不能在函数中或条件语句中或其他表示一个“范围”的语句中使用

  

  常量的使用:
      直接使用名字:

        echo CONST1;

      或使用constant()函数:constant("常量名");

        echo constant('CONST1');

  

  常量与变量的区别:
     

      1:定义形式不同

      2:使用形式不同,常量无需$符号

      3:可变程度不同,常量的值不可以改变,常量也不可以销毁

      4:作用范围不同,常量具有超全局作用域(函数内外都可以直接使用)

      5:可用类型不同,常量只能存储标量类型:int , float ,string, bool

  

  判断常量是否存在: defined():
      判断的结果为布尔值

      常用形式: if(defined(常量名) == false {...这里可以去定义常量}

      实际上,也可以这样: $result = defined(常量名);//结果为布尔值

  

  使用一个未定义的常量(特殊情况):
      使用一个未定义的常量会报一个错误(notice错误) -- 跟使用一个未定义的变量一样 (不推荐使用)。但是php中,此时会得到一个意想不到的结果:似乎该常量存在,并该常量的值就是该名字。

http://s1.运维网.com/wyfs02/M02/75/C3/wKioL1ZB-fCBPJWzAACuZrwgCOI159.jpg
  注:使用 ini_set("display_errors",0); 可关闭 notice 提示!
  

  预定义常量:
      PHP语言中,预定义了大量的常量,可以直接使用。

      其中有些常量,是需要某些模块打开之后才有(比如mysql模块)。

      如:M_PI , PHP_OS , PHP_VERSIN , PHP_INT_MAX ......

  

  魔术常量:
     

      魔术常量其实是一种值会随着一定条件(环境)而变化的常量,形式和使用上是常量,但实际上,其值会改变。

      比如: __DIR__ (当前网页文件的所在目录), __FILE__ (当前网页文件), __LINE__ (当前这一行)

      魔术常量其实类似变量,其值随着不同代码而变化,不区分大小写




页: [1]
查看完整版本: PHP常量