PHP基础 — 变量
①、变量类型:整型、浮点型、布尔型、数组、对象、null、资源
②、检测变量:
isset() — 检测变量是否设置。
实例:
$array = 'test'; if(isset($array)){
echo "变量存在"; }else{ echo "变量不存在"; }
执行结果:"变量存在"
③、变量判断类型
gettype() 函数用于获取变量的类型。
实例:
$arr = '1'; echo gettype($arr );
执行结果:integer
④、打印变量
常用打印变量函数:
echo() 函数输出一个或多个字符串。
print_r() — 打印关于变量的易于理解的信息。
var_dump 用于打印显示,一个变量的内容与结构,以及类型的信息。(推荐使用)
⑤、变量类型转换
php中变量的类型是可以转换,最常用的数据类型转换强制转换的三种方式!
- (int)、(integer):转换成整形
- (float)、(double)、(real):转换成浮点型
- (string):转换成字符串
- (bool)、(boolean):转换成布尔类型
- (array):转换成数组
- (object):转换成对象
第一种转换方式: (int) (bool) (float) (string) (array) (object)
$num1=3.14; $num2=(int)$num1; var_dump($num1); //输出float(3.14) var_dump($num2); //输出int(3)
第二种转换方式: intval() floatval() strval()
$str="123.9abc"; $int=intval($str); //转换后数值:123 $float=floatval($str); //转换后数值:123.9 $str=strval($float); //转换后字符串:"123.9"
第三种转换方式: settype();
$num4=12.8; $flg=settype($num4,"int"); var_dump($flg); //输出bool(true) var_dump($num4); //输出int(12)
⑥、变量赋值
传值赋值:
php变量其实就是一个地址的别名而已,如同$a就是一个内存中的地址的别名,比如是0x000011,$b就是另一个地址,$a = $b就是把0x000011地址内存里的数据取出来放到$b所指向的地址中,当unset一个变量以后,就会把这个变量名和地址之间的联系断掉,此时操作系统就会执行垃圾回收,把这个地址的数据清理掉。
引用赋值:
php的引用赋值就是把另一个变量和当前的变量指向同一个地址,当修改两个变量中的任何一个数值的时候都会造成两个数据的变化。
计数赋值:
和Javascript一样,对象都是采用计数赋值的,当$a = new object()以后,就会在栈上开一个变量$a,此时的$a的值是一个地址,指向堆上的一块内存,这块内存上边是这个对象的一个实例,当$b = $a以后就会使得$b中的值也是堆得内存的地址。此时如果你unset掉$a以后,只是把栈上的$a清理掉而已,堆上的内存依然存在,只有你把$b也unset掉,才会使得$a和$b都没办法指向到这个对象,此时这个对象就没有办法得到,在c语言里这个叫做内存泄露,在Java和C#里都有自动垃圾回收机制,这个泄露的内存都会被自动回收,php也是一样,也会在没有变量指向这个堆上的内存以后就会被自动回收掉。
⑦、销毁变量
unset()函数销毁变量
// 销毁单个变量
unset ($var);
// 销毁单个数组元素
unset ($arr['a']);
// 销毁多个变量
unset ($var1, $var2, $var3);
⑧、动态变量名PHP中,我们可以动态地创建一个变量名。例如:$$a;
发表评论 取消回复