1.变量的概念及命名规范
$i = 58;
变量 $i
表示在内存中开辟了一块空间,空间里面的值是58,$i
指向变量所在的地址。
PHP 的变量是区分大小写的。
2.变量类型
整形。
浮点型。
字符串型。
布尔型。直接
echo
布尔型时,布尔型会被转换为字符串,true->'1'
true 转化为字符串 1,false->''
false 转化为空字符串。Null型。一个变量在三种情况下其值为 Null:给一个变量赋值为 Null时;当某个变量被 unset 时;只声明不赋值的时候。
3.动态变量及变量类型检测
1.动态变量
所谓动态变量就是说,变量的名字还可以是一个变量。
$str = 'hello';
$hello = 'hello world';
echo $str .'</br>'; //hello
echo $hello .'</br>'; //hello world
echo $$str .'</br>'; //hello world
//这里的 $$str 就是一个动态变量
2.变量检测
用 isset
检测一个变量是否存在。
3.判断变量类型
is_int
, is_float
, is_bool
, is_null
。 gettype
可以直接获取一个变量的类型。
4.变量的销毁
unset();
销毁变量名和变量值。
4.传值赋值与引用赋值
1.传值赋值
$a = 3;
$b = 5;
$b = $a;
//这一步发生了什么,把$a的值拿出来,放到$b的空间里,就是把$a的值传递给$b,叫做传值赋值。
echo $b; //3
2.引用赋值
$a = 3;
$b = 5;
$a = &$b;
echo $a." ".$b;// 5 5
//为什么是 5 5,发生了什么?过程是把 $a 的指向指向了 $b 的地址空间,即$a,$b指向同一个地址,两把钥匙,指向同一个房间。
$b = 5;
$a = &$b;
unset($b);
echo $a; //5
//为什么销毁 $b 之后 $a 的值仍然是5,因为这个时候 $a $b 指向了同一个地址,即使 $b 被销毁了,但是此时 $a 所指向的仍然是内存中的那个地址,所以值仍然是5。
//变量有一个机制,给某段地址存的值,有一个变量指向它的时候,这个地址所占的内存空间就不会被回收。
5.三个输出函数
echo
: 输出变量,适用于整形,浮点型,字符串这种标量类型。
print_r
: 适合对象,数组,这种二维多维的数据。
var_dump
: 不仅可以打印数据,还可以打印出数据的类型。