/**
* Created by PhpStorm.
* User: laotianwy
* Date: 2021/1/29
* Time: 11:58
*/
/*
* 1.常量:在整个运行过程中,固定不变的值
* 1.用define()函数定义常量 define(常量名,值,[是否区别大小写]) true表示不区分大小写,默认是false
* 2.常量名前没有$符
* 3.常量名推荐使用大写
* define('NAME','tom'); //定义常量
* define('PI',3.14,true); //定义常量,不区分大小
* echo NAME,'
',Pi;//true表示不区分大小写,默认是区分大小写的。
* 4.定义常量可以用特殊字符,但是在调用的时候必须用`constant`关键字调用
* define('%-%','tom');
* echo constant('%-%'); //通过constant获取特殊字符作为常量名的常量
* 5.判断常量是否定义,通过defined()判断常量是否已经定义
* if(!defined('NAME')){
* define('NAME','berry');
* }
* echo NAME; //berry
*
* 2.还可以使用const关键字定义常量
* const NAME='tom';
* echo NAME; //tom
*
* 3.小结:定义常量有两种方式,define()和const。
* 常量在整个运行过程中值保持不变,常量不能重新定义。
* 使用constant获取特殊字符做的常量名的值。
* defined()用来判断常量是否被定义
*
* 2.预定义常量
* 1.PHP预先定义好的常量
* 1.PHP_VERSION PHP版本号
* 2.PHP_OS PHP操作系统
* 3.PHP_INT_MAX PHP中整型的最大值
* 2.魔术常量
* 1.__LINE__ 获取当前行号
* 2.__FILE__ 当前文件的完整路径和文件名
* 3.__DIR__ 文件所在的目录
*
* 3.数据类型
* 1.整型
* 1.存整数,PHP_INT_MAX获取整形最大值
* 2.PHP支持8、10、16机制的整数 逢8进1,逢10进1,逢16进1
* $num1=10; //十进制
* $num2=010; //八进制(数字前面加0)
* $num3=0x10; //十六进制(数字前面加0x)
* | 机制 | 缩写 | 单词 |
* | -------- | ---- | ------------- |
* | 十进制 | dec | decimalist |
* | 二进制 | bin | binary |
* | 八进制 | oct | octonary |
* | 十六进制 | hex | hexdecimalist |
* 3.PHP提供了进制转换函数
* echo decbin(123),'
'; //十进制转二进制
* echo bindec(1111011),'
'; //二进制转十进制
* echo dechex(123),'
'; //十进制转十六进制
* echo hexdec('7b'),'
'; //十六进制转十进制
* echo decoct(123); //十进制转八进制
* 2.浮点型
* 1.浮点数在内存中保存的是近似值
* 2.浮点数不能参与比较
* var_dump(0.9==(1-0.1)); //bool(true)
* echo '
';
* var_dump(0.1==(1-0.9)); //bool(false)
* 3.如果浮点数要比较,必须确定比较的位数
* var_dump(0.9==(1-0.1)); //bool(true)
* echo '
';
* var_dump(0.1==(1-0.9)); //bool(false)
* echo '
';
* var_dump(bccomp(0.1,1-0.9,5)); //比较小数点后面5位 int(0) 0表示相等
* 4.提醒:如果一个整数超出了整形的范围,会自动的转成浮点型
*
* 3.布尔型
* 1.不能使用echo 和print输出布尔型,要使用var_dump()输出
* $flag=false;
* var_dump($flag); //bool(false)
* 4.字符串型
* 1.在PHP中单引号字符串和双引号字符串是有区别的
* 2.单引号字符串是真正的字符串
* 3.双引号字符串要解析字符串中的变量
* $name='tom';
* echo '我的名字叫$name','
'; //我的名字叫$name
* echo "我的名字叫$name",'
'; //我的名字叫tom
* 4.{}取变量值 里面只能打印一个变量,如果多个,请写多个{}。${}同理
* $name='tom';
* echo '$name是我的名字','
'; //$name是我的名字
* echo "{$name}是我的名字",'
'; //{}表示获取变量的值(tom是我的名字)
* echo "${name}是我的名字",'
'; //$和{只要挨着一起就可以(tom是我的名字)
* 5.输出特殊字符 正\转义字符
* echo '毛主席说:\'上课不要睡觉\'','
'; //转义字符 毛主席说:'上课不要睡觉'
* echo '文件保存在c:\\'; //文件保存在c:\
* 6.字符串定界符
* 1、有<<
* 2、字符串定界符的结束符必须顶格写,前面不能有任何的空白字符
* 3、字符串定界符分为两种,heredoc(双引号),nowdoc(单引号)
* 5.复合类型
* 1.数组 (索引数组就是下标为0开始的数组,关联数组是js里面的对象)
* 1.在PHP中数组有两种形式,索引数组和关联数组
* 2.索引数组:用整数做下标,默认从0开始,后面依次加一
* 3.关联数组:用字符串做下标,通过=>符号将下标和值关联起来
* 2.索引数组的声明
* 1.$stu=array('tom','berry','ketty'); //索引数组
* 2. print_r($stu); //输出数组 Array ( [0] => tom [1] => berry [2] => ketty )
* echo $stu[0],'
'; //tom
* echo $stu[1],'
'; //berry
* echo $stu[2],'
'; //ketty
* 3.关联数组的声明
* 1.$emp=array('name'=>'李白','sex'=>'男','age'=>22);
* 2.print_r($emp); //Array ( [name] => 李白 [sex] => 男 [age] => 22 )
* echo $emp['name'],'
'; //李白
* echo $emp['sex'],'
'; //男
* echo $emp['age']; //22
* 4.写出数组的下标
* $array=array(1=>'a','b','c','d');
* print_r($array); //Array ( [1] => a [2] => b [3] => c [4] => d )
* echo '
';
* --------------------------
* $array=array('a',2=>'b','c',5=>'d');
* print_r($array); //Array ( [0] => a [2] => b [3] => c [5] => d )
* echo '
';
* ----------------------------
* $array=array('a','name'=>'b','c','sex'=>'d');
* print_r($array); //Array ( [0] => a [name] => b [1] => c [sex] => d )
* echo '
';
* ------------------------------
* $array=array(1=>'a',1=>'b',1=>'c','d');
* print_r($array); //Array ( [1] => c [2] => d )
* 5.数组的下标只能是正整数和字符串(下标可以是 0,正整数,负整数,字符串)
* 1.注意:null和''串是同一个,但是null和‘ ’是不一样的。多个空格也是不一样的,
* 2.null不区分大小写
* $stu[true]='tom'; //转成1
* $stu[false]='berry'; //转成0
* $stu[12.9]='aa'; //转成12(取整数部分)
* $stu[-10]='bb'; //负数可以做下标
* $stu[-12.3]='cc'; //取负整数
* $stu['10']='dd'; //字符串数字转成数字
* $stu['']='ee'; //空字符串也可以做下标
* $stu[null]='ff'; //转成空字符串做下标
* print_r($stu);
* 6.短数组语法,可以直接通过中括号声明数组
* $stu=['tom','berry','ketty'];
* print_r($stu); //Array ( [0] => tom [1] => berry [2] => ketty )
* 7.在PHP7.1中可以支持数组的赋值
* //例题,两个数交换
* $num1=10;
* $num2=20;
* [$num1,$num2]=[$num2,$num1];
* echo $num1,'
',$num2;
* 8.二维数组的声明
* 1.$stu=[
* ['name'=>'tom','sex'=>'男','age'=>22],
* ['name'=>'berry','sex'=>'女','age'=>23]
* ];
* 9.字符串可以通过数组的方式去调用
* echo 'abc'[0],'
'; //a
* echo 'abc'[-1],'
'; //c,从右边开始取第一个 7.1开始支持
*
* 数组注意:数组在内存中一段连续的空间,如果要保存同一类型的多个数据就使用数组
*
* 6.特殊类型
* 1.资源
* 2.null 提醒:在PHP中 null和NULL是一样的,不区分大小写
*
*
*
*
* */