1.1 今日目标
- 理解常量的概念
- 掌握常量的使用方式
- 理解魔术常量的概念和应用
- 理解string类型中单引号和双引号的区别
- 掌握PHP中数组的访问方式;
- 理解PHP代码的执行解析过程;
- 掌握逻辑运算符的使用;
- 理解短路运算的原理;
- 掌握自操作运算符的使用;
- 理解前置和后置自操作符的区别和原理;
- 了解强制转换的价值和应用场景;
- 理解if分支结构的应用场景;
- 理解switch分支结构的应用场景;
- 理解switch和if分支的区别;
1.2 常量
在整个运行过程中,固定不变的值
1.2.1 定义常量
1、用define()函数定义常量
define(常量名,值,[是否区别大小写]) true表示不区分大小写,默认是false
常量名前没有$符
常量名推荐使用大写
例题:
<?php
define('NAME','tom'); //定义常量
define('PI',3.14,true); //定义常量,不区分大小写
echo NAME,'<br>',Pi;
//true表示不区分大小写,默认是区分大小写的。
2、定义常量可以用特殊字符,但是在调用的时候必须用constant
关键字调用
define('%-%','tom');
echo constant('%-%'); //通过constant获取特殊字符作为常量名的常量
3、判断常量是否定义,通过defined()判断常量是否已经定义
if(!defined('NAME')){
define('NAME','berry');
}
echo NAME; //berry
4、还可以使用const关键字定义常量
const NAME='tom';
echo NAME; //tom
小结:
1、定义常量有两种方式,define()和const
2、常量在整个运行过程中值保持不变,常量不能重新定义
3、使用constant获取特殊字符做的常量名的值
4、defined()用来判断常量是否被定义
1.2.2 预定义常量
PHP预先定义好的常量
例题
echo PHP_VERSION,'<br>'; //PHP版本号
echo PHP_OS,'<br>'; //PHP操作系统
echo PHP_INT_MAX,'<br>'; //PHP中整型的最大值
1.2.3 魔术常量
魔术常量它们的值随着它们在代码中的位置改变而改变
echo __LINE__,'<br>'; //获取当前行号
echo __FILE__,'<br>'; //文件的完整路径和文件名
echo __DIR__,'<br>'; //文件所在的目录
1.3 数据类型
数据类型有两种:强类型和弱类型
PHP是弱类型
1.3.1 基本类型(标量类型)
1、整型
存整数,PHP_INT_MAX获取整形最大值
PHP支持8、10、16机制的整数
<?php
$num1=10; //十进制
$num2=010; //八进制(数字前面加0)
$num3=0x10; //十六进制(数字前面加0x)
echo $num1,'<br>'; //10
echo $num2,'<br>'; //8
echo $num3; //16
进制转换
机制 | 缩写 | 单词 |
---|---|---|
十进制 | dec | decimalist |
二进制 | bin | binary |
八进制 | oct | octonary |
十六进制 | hex | hexdecimalist |
例题
PHP提供了进制转换函数
echo decbin(123),'<br>'; //十进制转二进制
echo bindec(1111011),'<br>'; //二进制转十进制
echo dechex(123),'<br>'; //十进制转十六进制
echo hexdec('7b'),'<br>'; //十六进制转十进制
echo decoct(123); //十进制转八进制
2、浮点型
浮点数在内存中保存的是近似值
浮点数不能参与比较
var_dump(0.9==(1-0.1)); //bool(true)
echo '<br>';
var_dump(0.1==(1-0.9)); //bool(false)
如果浮点数要比较,必须确定比较的位数
var_dump(0.9==(1-0.1)); //bool(true)
echo '<br>';
var_dump(0.1==(1-0.9)); //bool(false)
echo '<br>';
var_dump(bccomp(0.1,1-0.9,5)); //比较小数点后面5位 int(0) 0表示相等
提醒:如果一个整数超出了整形的范围,会自动的转成浮点型
3、布尔型
不能使用echo 和print输出布尔型,要使用var_dump()输出
$flag=false;
var_dump($flag); //bool(false)
4、字符串型
在PHP中单引号字符串和双引号字符串是有区别的
单引号字符串是真正的字符串
双引号字符串要解析字符串中的变量
例题
$name='tom';
echo '我的名字叫$name','<br>'; //我的名字叫$name