二、变量
变量是临时(只有你在程序的运行过程中才存在)存储的容器
1.变量的声明:
在PHP中使用变量之前是不需要声明的,直接用。
赋值操作符:=
变量名:$
$变量名=数据
$
2.变量的规则:
变量严格区分大小写
上面怎样定义下面怎样引用,否则会报错
变量是由字母和下划线开头的
$asd $_shi233 都可以
不能以数字开头
注意:
最好不要用PHP的关键字做为变量名称,因为在其他的编程语言中是不被允许的。
3.变量的释放:
unset($变量名);
<?php
$name=1;
unset($name); 销毁$name 变量
?>
4.可变变量
$abc='test'; //定义一个变量里面是test
$$abc=123; //$test=123
echo $test; //输出变量$test
5.变量引用赋值
$a=1000;
$b=&$a; //相当于给$a起了一个别名,操作其中任意一个,都会影响到另外一个变量。
$b=20; //给变量b赋值
echo $b; //输出变量$b的内容
三、变量类型
是指保存在变量里的数据类型,具有相同类型的才能彼此操作
php是弱类型的语言,不需要声明类型,可以直接用。
1.变量类型简介:
**bool布尔型:**表达了真假
$a=true;
echo $a; //输出1; fasle为0;
$a=true;
var_dump($a); //可以输入变量类型
**int 整型:**往变量里存整数
float 浮点型: 往变量中存小数
$a=1.1;
var_dump($a); //可以输入变量类型
string 字符串:放一系列的字符。 注意在单引号括起来的字符串中不能在包括单引号, 如果药房单引号的话加上\转义
$a='test......';
var_dump($a); //可以输入变量类型
如果要用单引号的话加上\转义
$a='test......\'abc';
var_dump($a); //可以输入变量类型
定义简单的字符串可以用单引号,但是单引号里面的变量不可以被解析。
双引号:里面的变量名可以被解析
双引号不能再有双引号
$a='test....';
$b="te{$b}st....";
var_dump($a);
echo $a;
定界符:
里面加单引号加双引号都可以。不能用
$a=<<<aaa
111222333
aaa;
var_dump($a);
array 数组
object 对象
resource 资源
null:
表示空
将变量赋给null;声明的变量尚未被赋值;被unset销毁的变量
$a=null;
var_dump($a);
2.变量类型相互转化
转变并不会改变转变变量本身的类型
$a='王小红';
$b=(int)$a;
var_dump($b);
四、常量
常量是临时(只有你在程序的运行过程中才存在)存储的容器
常量一旦被定义 就不能
1.定义:define(‘常量名称’,常量值)
define(“常量名称”,常量值)
2.命名规则:和变量一样,参考上面变量的命名规则。
3.常量和变量区别:
(1)常量前面没有美元符号$
(2)常量只能用define定义,不能通过赋值语句
(3)常量不用理会变量范围的规则在任何地方定义和使用
(4)常量一旦被定义就不能被重新定义或者取消定义(变量可以用unset)
(5)常量的值只能是bool,int,float,string类型。
4.预定义常量 常用“__”表示
<?php
echo __LINE__;
代码所在的位置不同,所表现出来的值也不同
预定义常量是不区分大小写的
自己定义的常量是严格区分大小写的
最好都写成大写;
几个常见的魔术常量(预定义常量):
五、运算符
运算符是对操作数进行执行某种运算的符号
1.算数运算符
(1)+:
<?php
$a=1;
$b=2;
echo $a+$b;
(2)-:
第一个意思:减号
$a=1;
$b=2;
$c=$a-$b;
echo $c;
第二个意思:当只有一个操作数的时候,表示取反
$a=1;
$b=-$a;
echo $b; //-1
echo $a; //1 取反不会影响本身的值
(3)* 乘号
$a=1;
$b=2;
$c=$a*$b;
(4)/ 除号 除数不能为0;
$a=1;
$b=2;
$c=$a/$b;
(5)% 取模 取余数
$a=1;
$b=2;
$c=$a%$b;
echo $c;
(6) ++ 自增
前++ 会先自增 再返回自增后的值
$a=1;
echo ++$a; // 2
后++ 会先返回变量的值 在执行自增
$a=1;
echo $a++; //echo $a; $a=$a+1; 1
echo $a; // 2
$a=1;
$b=$a++; //$a=$b; $a=$a+1;
echo $b; // 1
(7)-- 自减
同++一样
前-- 就是先减一在输出
后–
$a=1;
$b=$a--;
echo $b; //0
$a=1;
echo $a--; //echo $a; $a=$a-1; 1
echo '<br />'; //换行
echo $a; //0
2.字符串运算符
. 链接符
$a=王;
$b=hua;
echo $a.$b;
3.赋值运算符
二元运算符 把左边的赋给右边的 左边必须是变量 右边可以是表达式
+= //$a=$a+$b
-= //$a=$a-$b
*= //
/=
%=
.=
4.比较运算符 得到的结果是布尔类型true false
PHP中规定使用echo输出布尔类型的时候 是true就输出1 是false就什么都不输出 使用需要输出布尔类型值得时候 用var_dump()更好
(1)== 比较值是否相等
如果相等就是true 不相等就是false
$a=1;
$b=1;
var_dump($a==$b);
(2)=== 全等 值要相等 类型也要相等
如果两个比较的不是同样的类型 PHP会自动将不一样的转化成一样的
$a=1;
$b='1';
var_dump((int)$b); //强制将字符串型转换为int型
所以
$a=1;
$b='1';
var_dump($a==$b); //输出true
var_dump($a===$b); //输出false
(3)!= 左不等于右
(4)< > 大于 小于
(5)!== 不全等 判断两边的操作数是不是不全等 值需要相同 类型也需要相等
(6)< 小于
(7)> 大于
(8)<= 小于等于
(9)>= 大于等于
5.逻辑运算符
参与逻辑运算的表达式值是布尔类型的值如果不是布尔类型的值会被自动转换成布尔类型的值再参加运算
运算结果是布尔类型的值
(1)and &&
左右两边的表达式的值都为true时 运算的结果就为true 其中只要有一个false 运算结果就为false
$a=true;
$b=false;
var_dump($a && $b); //输出false