一. 运算符
1.按功能分
(1)算术运算符
(2)字符运算符
(3)赋值运算符
(4)比较运算符
(5)逻辑运算符
(6)错误抑制符
(7)执行运算符
2.逻辑运算符 : ! &&(and) ||(or) xor
(1)&&(and):与,并且,第一个表达式和 第二个表达式都为真才为真否则为假
(2)||(or):或,或者, 第一个表达式和第二个表达式都为假才为假否则为真
(3) ! 非
(4) xor :异或 第一个表达式和 第二个表达式的布尔结果不同为真,相同为假
(5)短路:
a.原理:如果第一个表达式的结果就能确定整个表达式的结果,那第二个表达式不执行产生短路
b. &&(and)短路:第一个表达式为假,那第二个表达式不执行,产生短路
c. ||(or)短路:第一个表达式为真,那第二个表达式不执行,产生短路
说明:逻辑运算符运算结果布尔类型
3.错误抑制符 : @忽略错误,没错误不忽略
说明:一般用在函数或表达式前面
4. 执行运算符: 反引号 ``
说明:
a.PHP的命令行
b.php.ini 中 safe_mode=Off关闭
5.按参加的操作数的个数分
(1)单目(一元 ):1个操作数
++ -- ! @等
(2)双目(二元 ):2个操作数
+ - * / 等
(3)三目(三元 ):3个操作数
说明:
a. expr1?expr2:expr3;
当expr1为真执行expr2,
如果为假执行expr3
b. PHP5.3以上支持
expr1?expr1:expr3;
6. 运算符的优先级
(1)单目运算符和赋值运算符是右结合(从右往左)
其他都是左结合(从左往右运算)
(2)优先级高的先运行,优先级底的后运行,同级
左结合或右结合
(3)用()改变优先级的顺序
(4)有短路先考虑短路
(5)运算符的优先级表
单目运算符 双目运算符(算术 比较 逻辑)
三目运算符 赋值运算符 and xor or
二.流程控制语句
1.作用:程序都是自上而下逐行执行,如果想通过某条件
执行某个语句或重复执行某个语句,那就要用到
流程控制语句
2.分类
(1)条件分支语句
(2)循环语句
3.条件分支语句
(1)if单分支语句
if(expr){
echo 'expr条件为真执行的语句组';
}
说明:
a. 如果expr条件为真执行if后面的大括号中 语句,如果expr条件为假不执行if后面的大括号,执行顺序语句
b.如果if后面的大括号中语句组只有一条语句大花括号可以省略,不推荐省略
(2)if双分支语句
if(expr){
echo '如果expr条件为真执行的语句组';
}else{
echo '如果expr条件为假执行的语句组';
}
说明:如果expr条件为真执行if后面的大括号的语句组 否则执行else后面的大括号的语句组,二选一
(3)if多分支语句:
if(expr1){
....
}elseif(expr2){
...
}......
elseif(expr3){
...
}
[else{
....
}]
说明:根据不同条件执行对应的语句组,如果某个条件为真就执行对应的语句组然后跳出多分支语句;如果所有条件都为假 并且else存在那执行else对应的语句组然后跳出多分支语句。多选一
(4)if嵌套:
if(expr){
if(expr2){
...
}else{
...
}
}else{
...
}
if(expr){
}else{
if(expr2){
...
}else{
...
}
}
(5)switch语句:
switch(变量名称){
case 值:
...
break;
case 值:
...
break;
......
[default:
...
break;]
}
说明:
a.判断变量等于某个特性的值
b.switch/case 松散比较
case 等同于 ==
c.switch不能跳出分支语句
用break或continue 结束
分支语句
![](/qrcode.jpg)