<?php
header("content-type:text/html;charset=utf-8");
//系统常量
echo PHP_VERSION;
echo "<br/>";
echo PHP_OS;
echo "<br/>";
echo PHP_INT_MAX;

//定义常量
echo "<hr/>";
#通过define()定义常量
#常量名称不加$ 最好大写 默认区分大小写
#常量的作用域是全局
#常量不能被改变
#常量的值可以是标量类型 也可以是数组
define('TEST',"this is test");
#使用常量 直接使用常量的名称即可
echo TEST,"<hr/>";

define("USERNAME","king");
define("AGE",12);
define("MARRIED",TRUE);
define("SAKARY",123456.5);
define("TEST_ARRY",array('a','b','c'));

echo '用户名为',USERNAME,'<br/>';
echo '年龄为',AGE,'<br/>';
echo '是否结婚',MARRIED,'<br/>';
echo '月薪为',SAKARY,'<br/>';
var_dump(TEST_ARRY);

echo "<hr/>";
//常量默认区分大小写
define("test1","hello");
define("tesT1","hello1");
echo 'tesT1',tesT1,'<br/>';
echo 'test1',test1,'<br/>';
define('USERNAME1','ROOT');
//const 关键字来定义常量
const NAMEAA="const定义的常量";
#使用常量
echo NAMEAA,"<br/>";
echo constant("USERNAME"),"<br/>";
echo constant("NAMEAA");
#检测常量是否存在 如果存在返回真,否则返回假
var_dump(defined('PHP_VERSION'));
#get_defined_constants();返回的是数组得到虽有已定义的常量,包含系统常量和自定义常量的数组
#print_r 打印数组信息
print_r(get_defined_constants());

#魔术常量
#__LINE__得到当前的行号
#__FILE__得到当前文件的完整绝对路径和文件夹名
#__DIR__得到文件的完整绝对路径
#__FUNCTION__ 得到当前函数的名称
#__CLASS__得到当前的类名
#__METHED__得到当前类的方法名称
#__TARIT__得到当前的TRAIT名称
#__NAMESPACE__得到当前的命名空间
echo "<hr/>";
echo __LINE__,"<br/>";
echo __FILE__,"<br/>";
echo __DIR__,"<br/>";