PHP的常量理解和数据类型理解
1、1.常量
含义:
就是一个用于存储不希望改变的数据的标识符(就是一个名字而已);
常量一旦定义,就不可以改变(重新赋值);
定义形式和使用:
形式1:
define(“常量名”, 常量值);
形式2:
const 常量名 = 常量值;
使用:
就是直接用常量名;
注意:它不能在双引号字符串中被识别——跟变量不同。
举例:

2、2.魔术常量
其实也是系统内部定义好的常量,就那么几个!!!
魔术常量,其实只是形式上是常量,但其值是随着代码的不同而会变化,有如下几个:
__DIR__ :取得当前网页文件的所在目录
__FILE__ :取得当前网页文件的所在完整路径
__LINE__ :取得当前行的行号

3、3.魔术常量显示运行结果

4、4.数据类型
总体划分
标量类型: int, float, string, bool
复合类型: array, object
特殊类型: null, resource
整数类型
3种整数类型的写法(表示法):
十进制写法:123
八进制写法: 0123
十六进制写法: 0x123

5、5.进制转换
10进制转换为2进制: decbin(10进制数字),得到的结果是2进制数字字符串;
10进制转换为8进制: decoct(10进制数字),得到的结果是8进制数字字符串;
10进制转换为16进制: dechex(10进制数字),得到的结果是16进制数字字符串;

6、6.运行结果

7、
7.
2进制转换为10进制:bindec(2进制数字字符串),得到的结果是10进制数字;
8进制转换为10进制:octdec(8进制数字字符串),得到的结果是10进制数字;
16进制转换为10进制:hexdec(16进制数字字符串),得到的结果是10进制数字;
参考代码和运行结果


8、8.进制转换的手动做法(原理)
先来表示一个常见的10进制数字的“含义”:
比如234,它的实际大小是:2 * 102 + 3 * 101 + 4 * 100 = 200 + 30 + 4
即可以这样去理解一个10进制数字:
是每个位上的数字乘以该位的权值(10的n次方),然后相加所得到的结果。
2进制转换为10进制:
是每个位上的数字乘以该位的权值(2的n次方),然后相加所得到的结果。
8进制转换为10进制:
是每个位上的数字乘以该位的权值(8的n次方),然后相加所得到的结果。
16进制转换为10进制:
是每个位上的数字乘以该位的权值(16的n次方),然后相加所得到的结果。
举例:

9、9.
10进制转换为2进制:
做法:将10进制数字除以2,得到商和余数;如果商不为0,则继续除以2,得到商和余数,依此类推,直到商为0;然后将所得到的所有余数,按“相反顺序”连续写出,就是对应的二进制数字值的形式;
10进制转换为8进制:
做法:将10进制数字除以8,得到商和余数;如果商不为0,则继续除以8,得到商和余数,依此类推,直到商为0;然后将所得到的所有余数,按“相反顺序”连续写出,就是对应的八进制数字值的形式;
10进制转换为16进制:
举例:


