Loading

PHP常量

一、概念

  • 常量就是一种特殊的变量,也用于存储数据,常量一旦定义就不允许修改其值,常量本身也不允许删除
  • 常量的值只能是基本数据类型(标量类型)
  • 常量默认区分大小写,常量一般都是全部大写字母
  • 命名规则:变量或者函数采用snake_case(小写字母加下划线)命名规则,常量是SNAKE_CASE命名规则

二、定义

  • 语法1----define(‘常量名’,值)
<?php
   define('PI',3.14);
   echo PI;//3.14
?>
  • 语法2-------const常量名=值
<?php
   const PI=3.14;
   echo PI;//3.14
?>
  • 区别:

define定义的常量可以自定义是否区分大小写----define的第三个参数设置为true

<?php
   define('PI',3.14,true);
   echo pi;//3.14
   echo Pi;//3.14
   echo pI;//3.14
   echo PI;//3.14
?>

define语法可以在分支中定义的常量,const不允许

<?php
   if(true){
    define('PI',3.14);//可以输出
    const PP=3.14;//报错
   }
?>

三、常量的判断及获取所有的常量

  • 常量的判断-----defined(‘常量’)
<?php
    define('PI',3.14);
    $result=defined('PI');
    var_dump($result);//bool(true)
?>
  • 所有常量的获取
<?php
    $result=get_defined_constants();
    echo '<pre>';
    print_r ($result);
?>

四、魔术常量

  • __FILE__-------------当前文件完整的路径和及文件名
  • __DIR__-------------当前文件的路径(不包括文件名)
  • __LINE__-------------用于获取当前行号
<?php
   echo __FILE__;//E:\WAMP\Apache2.4\htdocs\test.php
   echo __DIR__;//E:\WAMP\Apache2.4\htdocs
   echo __LINE__;//4
?>
  • __FUNCTION__-------------用于获取当前函数的函数名
<?php
   function showInfo(){
       echo __FUNCTION__;
   }
   showInfo();//showInfo
?>
  • __METHOD__-------------用于获取当前方法的方法名
  • __CLASS__-------------用于获取当前类的类名
  • __NAMESPACE__-------------用于获取当前空间的空间名

 

posted @ 2018-06-06 16:23  澎湃_L  阅读(310)  评论(0编辑  收藏  举报