Day3:运算符、分支结构
一、运算符
1、位运算符
(1)&位与:两个操作数都为1的位置设置为1
例如:
$a=2 //0010
$b=3 //0011
$a & $b 0010 结果为2
(2)|位或:两个操作数字任何一个位为1的位这个位就为1
例如:
$a=2 //0010
$b=3 //0011
$a | $b 0010 结果为3
2、其他运算符
三元运算符:条件?表达式1:表达式2
注意:
(1)条件、表达式只能为一条语句
(2)表达式的值将被返回
(3)表达式1还不能加分号
例如:
$a=true ? '哈哈' : '呵呵' ;
<?php $year=2000; echo $year%4==0 && $year%100!=0 || $year%400==0 ? '闰年' : '平年'; ?>
``反引号:执行运算符,执行当前系统命令,但是不建议用,太危险
<?php $str=`ipconfig/all`; echo "<pre>"; echo $str; echo "</pre>" ?>
@:错误抑制符号,临时的,错误只是看不见,但是一直存在
<?php echo @$a; ?>
3、运算符的优先级--参考PHP手册
先乘除后加减,改变优先级用括号,括号还可以使你的代码更规范
二、流程控制
1、if(条件){}:如果条件表达式为true就执行大括号内的内容,如果为false就忽略大括号中的内容,继续执行下面的程序
注意:如果大括号中有一条语句,可以省略大括号,但是不建议这样写
2、双向分支结构
if(条件表达式){
}else{
}
如果条件表达式为true,执行if大括号中的内容,条件表达式为false就执行else大括号中的内容
注意:
else必须和if语句搭配使用
如果只有一条语句可以省略大括号
如果程序中有if和else必须执行其中一个大括号中的内容
3、多项分支结构else if
if(条件表达式1){
}else if(条件表达式2){
}else{
}
注:
else从句可以省略
else if可以写成elseif,但是不建议这样写
如果就一条语句可以不加大括号
代码从上往下执行,如果有一个条件符合并且执行语句,下面的条件就不会检查也不会执行了
通常判断范围条件
4、switch多项分支结构
switch(变量){
case 值1:
语句1;
break;
case值2:
语句2;
break;
case 值n;
语句3;
break;
default:
语句;
}
注:
switch括号中,必须是一个变量、表达式,但是通常放一个变量
通常用来判断某个值
case后面的值如果是字符串一定要加引号
case后面的break是可选的,代表退出,如果case中不加break,那么程序将会从第一个匹配的case一直向下执行,直到遇到break退出,主要用来匹配多个值的情况
5、巢状分支结构:不是新的语法结构,而是将前面的分支结构综合、嵌套使用
注:嵌套层次对好不要超过3层,以保证结构清晰