1.1:类型
变量有8种类型,不必死记硬背,在实际运用中加深理解
NULL是什么? NULL类型只标注了它的类型为NULL
它的值的字段是空的,NULL是没有值的
变量名称的命名规范:
[a-zA-Z0-9]和下划线(_)
1)变量名是区分大小写的
2)不能以数字开头
1.2:变量检测
echo 一个不存在的变量,会报notice级别的错误,
所以要检测一下这个变量是否存在
如何检测变量是否存在?
isset — 检测变量是否设置
已声明的变量返回 true,未声明的变量返回 false.
检测一个变量是否存在: 就是看花名册中是否有这个变量名
对于值为 NULL 的变量,也返回 false,因为null没有值 未曾声明的变量,当然也不存在
1.3:类型检测
检测一个变量,php是把它存储成一个什么样的类型的 对于php而言获取它的变量类型是很简单的 因为箱子里面已经存储了它的变量类型
gettype — 获取变量的类型 [现成的系统函数]
判断变量是否是某种类型
1.4:调试打印变量
echo 字符串,数字
print_r 打印层次化的数据,比如:数组,对象
var_dump 打印变量的类型及其值[调试代码比较方便]
|
|
1.5:类型转换
PHP中,变量的类型是可以随时转换的,非常的灵活 最常见的是字符转与数字之间的相互转换, 或者是数字/字符串 -> 布尔值的转换
字符串到数字的转换
从左到右截取,直道碰到不合法的数字,截取下来的部分转换为数字
数字到字符串的转换
数字/字符串/数组等到布尔型值的转换
if判断的应该是布尔型的值,那数字3被转成布尔型来理解 那它到底应该理解为真还是假呢?
以下值,都被理解为成布尔型值的假
‘’,’0’,0,0.0,false,NULL,array(); 而其它值,都被当成布尔型的真
empty(var) — 检查一个变量是否为空
如果 var 是非空或非零的值,则 empty() 返回 FALSE
换句话 说,””、0、0.0、”0”、NULL、FALSE、array(); 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE
####1.6:赋值
赋值有两种方式 :
1.传值赋值;(两个人看两台电视同一个台)
2.引用赋值;(两个人看同一台电视)
1.传值赋值
变量名其实不是贴在盒子上的,而是有个变量表(像班级的花名册) 变量值和变量类型放在盒子里面;变量表中的变量名指向它所对应的盒子.
改变$li的值,$wang的值会发生变换吗
这个赋值过程,是把$li的值,赋给$wang
2.引用赋值
改变$a的值
####1.7:销毁
为什么要销毁变量?
因为,有时比较大的数组,或者比较大的对象 特别的GD画图时,比较耗费资源,将它unset掉,可以及时释放出内存
unset(变量名); 销毁指定的变量 首先从变量表(花名册)中删除变量名,再找到它对应的盒子也删除掉.
注意: 引用赋值,如果两个变量指向同一个盒子,当销毁其中一个变量的时候,盒子是不能被销毁掉的.
重新给$a赋值一个新值
####1.8: 动态变量名
动态变量名,可以体现php非常灵活的一个地方
用变量的值去做另一个变量的名