php是一种动态网站开发的脚本语言,动态语言的特点是交互性,会有数据的传通,而php作为“中间人”,需要进行数据的传递,传递的前提就是php能自己存储数据(临时存储)
- 前面必须由$符号;
- 要严格区分大小写;
- 名字由字母,下划线,数字组成;
- 但只能由英文字母和下划线开头;
<?php $y=1; $y=2; echo $y; //输出变量$的值 ?> 结果:2;//会覆盖
2、变量的销毁:
unset($s)
<?php $y=1; unset($y);//销毁变量 echo $y; //输出变量$的值 ?> //结果:报错,因为变量已经被销毁了
3、可变变量:
如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值,在变量前面再多加一个$符号即可
<?php $y='test'; //定义了一个y,赋值为test $$y=2;//$test=2 echo $test; //输出变量$的值 ?> //结果:2
4、预定义变量:
提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
-
$_GET:获取所有表单以get方式提交的数据
-
$_POST:获取所有表单以post方式提交的数据
-
$_REQUEST:get和post提交的数据都会保存在这里
-
$GLOBALS:php中的所有的全局变量
-
$_SERVER:服务器信息
-
$_SESSION:session会话数据
-
$_COOKIE:cookie会话数据
-
$_ENV:环境信息
-
5、变量传值:
-
将一个变量赋值给另一个变量
-
两种方式:值传递,引用传递
-
值传递:将变量保存的值复制一份,将新的值给另外一个变量保存(两个变量没有关系)
- 引用传递:将变量保存的值所在的内存地址,传递给另外一个变量,两个变量指向同一块内存空间(两个变量是同一个值,一个变另一个也会变)
<?php $a=20; $b=$a; //值传递 echo $b //结果:20 $c=&$a; //引用传递:相当于给a取了个别名叫c,操作任何一个,另一个也会跟着变 $c=1000; //给c赋值为1000 echo $a; //结果:1000,因为c就是a,指示名字不同,给c改了数值,a也会变 ?>
<?php $a=true; var_dump($a);//输出变量类型 $a=1; var_dump($a);//输出变量类型 var_dump(is_int($a)) //结果:true ?> //结果:boolean int true Gettype(变量名):获取类型,得到的是该类型对应的字符串 Settype(变量名,类型):设定数据类型,与强制转换不同 1、强制转换:是对数据值复制后,对复制的内容进行处理,不会改变本身的类型 2、Settype:会改变本身的类型
7、强制转换:
类型转换:在很多的条件下,需要指定的数据类型,需要外部数据(当前PHP取得的数据),转换成目标数据类型。
在PHP中有两种类型转换方式:
- 自动转换:系统根据需求自己判定,自己转换(用的比较多,效率偏低)
- 强制(手动)转换:认为根据需要的目标类型转换
- 强制转换规则:在变量之前增加一个括号(),然后在里面写上对应类型:int/integer....其中NULL类型用到unset()
在转换过程中,用的比较多的就是转布尔类型(判断)和转数值类型(算术运算)
其他类型转布尔类型:true或者false,在PHP中比较少类型换变成false
其他类型转数值的说明
1、布尔true为1,false 为o;
2、字符串转教值有自己的规则。
- 以字母开头的字符串,永远为O;
- 以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点
<?php $a='yb'; $b=(int) $a;//不会改变自身 var_dump($b); var_dump($b); ?> //结果:0 string