数组运算符
注意:PHP中数组元素的顺序与下标无关,而是与加入的顺序有关
- 联合(+):将右边的数组项合并到左边数组的后面得到一个新的数组。如果有重复的键名或索引则以左边的为准。
$v1 = array(1,2,3,4);
$v2 = array(5,6,7,8,9);
$r1 = $v1 + $v2; //则$r1的结果为:array(1,2,3,4,9);
- 相等(==):如果两个数组的键名和键值相等(可以顺序,类型不同),则返回true
$v1 = array(1,2,3,4);
$v2 = array(2,3,1,4);
$v3 = array(1=>2,2=>3,0=>1,3=>4); //则$v1和$v2不等,$v1和$v3相等
- 不相等(!=,<>):如果两个数组不相等(==),则返回true
- 全等(===):如果两个数组具有相同的键名和键值且顺序和类型都相等,则返回true
- 不全等(!==):如果两个数组不全等则返回true
错误控制运算符@
通常用于可能发生错误的表达是的前面--例如连接数据库
其中or也是逻辑运算符,通常只用在这些位置,通常错误控制运算符用在程序开发测试阶段无法预测的可能出错的位置--获取外部资源
运算符的优先级
- 括号最优先,赋值最落后
- 先乘除后加减
- 大致:算术运算符>比较运算符>逻辑运算符
流程控制
流程图基本符号
分支结构
if语句:if(条件判断){ //语句块}
if-else语句:if(条件判断){//分支1}else{//分支2}
if-else if :if(条件判断){//分支1}else if(判断条件){//分支2}
if-else if-else
switch语句:switch(数据){case 状态1://进程1[break]; case 状态2://进程2[break]; default://默认进程} 应用中,break通常都会用上,没有break--先判断符合那个状态然后直接执行后面的进程不用判断直到结束
循环控制
while循环
形式:while(判断条件){//语句}
循环3要素:1.循环变量初始化2.循环变量判断3.循环变量改变
do while循环
do{//循环体}while(条件判断)
含义:先执行一次在判断是否继续执行
for循环
流程结构:
循环的中断
适用于所有循环
两种情况:break中断:终止整个循环语句,跳出循环之外;continue中断:终止当前循环的语句进入下一次循环。两种形式的语法如下:
break $n; //$n是一个大于等于1的整数,表示要中断n层循环
continue $n; //表示要中断上n层循环进入下一次循环
部分流程控制的替换语法
if(...)://语句 endif;
if(...)://语句 else://语句 endif;
if(...)://语句 else if(...)://语句 endif;
switch(...):case:...case:... endswitch;
while(...)://语句 endwhile;
for(...;...;...)://语句 endfor;
goto语句
严重不推荐使用,因为该语句让程序执行流程“任意跳转”,没有规范
语法:
goto 标识1;
...//语句
标识1:
...//语句
标识2:
...//语句
goto 标识2;
注意:
- 不能跳出循环中
- 不能跳入函数中
- 不能跳出函数外
- 不能跳出文件外
控制脚本执行进度
die("输出内容");
含义:终止PHP脚本的运行(后续代码不再执行)并输出其中内容。exit是die的同义词。
die是一种“语言结构”,并非函数可以不写括号;echo也是一种语言结构,而非函数。
sleep($n);
含义:让PHP脚本停止运行几秒后继续运行