什么是常量
常量是一个简单值得标识符,常量一经定义在脚本执行期间是不能改变
常量分类
1.系统常量
PHP提前给大家提供的,拿来就可以直接使用
PHP_VERSION  PHP的版本
PHP_OS  PHP的运行系统
PHP_INT_MAX  整型的最大值
例子 :
<?php //系统常量 echo PHP_VERSION;//7.0.9 echo '<br/>'; echo PHP_OS;//WINNT echo '<br/>'; echo PHP_INT_MAX;//9223372036854775807
2.自定义常量
定义常量
1.define()函数定义常量  ==> define($name,$value)
注意:
常量名称不加$
常量名称最好大写,以字母或者下划线开始
常量默认区分大小写
常量作用域是全局
常量一经定义,在脚本执行期间是不能改变的
常量的值可以是标量类型,也可以是数组
2.const 关键字定义常量  ==>const NAME=值;
使用常量
1.直接使用常量的名称即可  
2.constant($name)  根据常量的名称获取常量的值
1.define()函数定义常量 ==> define($name,$value) 注意: 常量名称不加$ 常量名称最好大写,以字母或者下划线开始 常量默认区分大小写 常量作用域是全局 常量一经定义,在脚本执行期间是不能改变的 常量的值可以是标量类型,也可以是数组 2.const 关键字定义常量 ==>const NAME=值;
使用常量
1.直接使用常量的名称即可  
2.constant($name)  根据常量的名称获取常量的值
define.php
<?php
header('content-type:text/html;charset:utf-8');
//通过define定义常量
define('TEST','this is a test');
echo TEST,'<hr/>';
//常量一经定义不能改变
//define('TEST','hello world');//错误
//
//echo TEST;//错误
define('USERNAME','king');
define('AGE',12);
define('MARRIED',true);
define('SALARY',123456.789);
define('TEST_ARRAY',array('a','b','c'));
echo '用户名为:',USERNAME,'<br/>';
echo '年龄为:'.AGE.'<br/>';
echo '是否结婚:'.MARRIED.'<br/>';
echo '月薪:'.SALARY.'<br/>';
var_dump(TEST_ARRAY);
echo '<hr/>';
//常量默认区分大小写,使用的时候按照定义时的大小写使用
define("TEST1",'hello world');
//echo test1;
echo TEST1;
//定义数据库信息
define('USERNAME','root');
define('PASSWORD','123');
test.php
<?php
header('content-type:text/html;charset:utf-8');
define('NAME','澈');
define('MY_WEB','http://imooc.com');
define('SKY','蓝色');
echo 'NAME:',NAME,'<br/>';
echo 'MY_WEB:',MY_WEB,'<br/>';
echo 'SKY:',SKY,'<br/>';
echo '<hr/>';
$a = NAME;
$b = MY_WEB;
$c = SKY;
echo '$a:',$a,'<br/>';
echo '$b:',$b,'<br/>';
echo '$c:',$c,'<br/>';
检测常量是否存在
defined($name)  检测常量名称是否存在,如果存在返回true,否则返回false
获取所有已定义的常量
get_defined_constants()  返回的是包含系统常量和自定义常量的数组
get_defined_constants() 返回的是包含系统常量和自定义常量的数组
const.php
<?php
header('content-type:text/html;charset:utf-8');
//const关键字定义常量
const WEB_TITLE='GY的个人博客';
const WEB_BLOG_URL='https://www.mysqlnote.com';
const WEB_ADMIN='sz';
const TEST='this is a test';
echo WEB_TITLE,'<br/>';
echo WEB_BLOG_URL,'<br/>';
echo WEB_ADMIN,'<hr/>';
//通过const来换取常量的值
echo constant('TEST'),'<br/>';
echo constant('WEB_TITLE'),'<br/>';
echo constant('PHP_VERSION'),'<br/>';
//defined检测常量是否存在
var_dump(defined('PHP_VERSION'));
echo '<br/>';
var_dump(defined('TEST'));
//get_defined_constants() 返回的是包含系统常量和自定义常量的数组
echo '<hr/>';
print_r(get_defined_constants());
3.魔术常量
__LINE__   得到当前的行号
__FILE__     得到当前文件的完整绝对路径和文件名
__DIR__    得到文件的完整绝对路径
__FUNCTION__    得到当前函数的名称
__CLASS__    得到当前类的类名
__METHOD__    得到当前类的方法名称
__TRAIT__    得到当前的TRAIT名称
__NAMESPACE__    得到当前命名的空间的名称
例子:
<?php //魔术常量 echo __LINE__; //5 echo '<br/>'; echo __LINE__; //9 echo '<br/>'; echo __FILE__;//D:\phpstudy\WWW\phpcode\MagicContants.php echo '<br/>'; echo __DIR__;//D:\phpstudy\WWW\phpcode
 MySQL学习笔记
MySQL学习笔记