一、PHP的遍历数组的三种方式及各自区别
1、使用for循环
2、使用foreach循环
3、使用while、list()、each()组合循环
for循环只能遍历索引数组,foreach可以遍历索引和关联数组,联合使用list(), each()和while()循环同样可以遍历索引和关联数组
while、list()、each()组合不会reset()
foreach()比遍历会对数组进行reset()操作
区别:while、list()、each()组合不会重置,可能只遍历出了数组的片段,而foreach不会,它会重置,重新遍历数组
reset()就是数组的指针回到开头、重置
二、PHP分支
1、if ……elseif
在elseif语句中只能有一个表达式为ture,即在elseif语句中只能有一个语句块被执行,多个elseif从从句是排斥关系。
使用elseif语句又一个基本原则,总把优先范围小的条件放在前面处理
2、switch……case……(会生成跳转表,直接跳转到对应case)
和if不同的是,switch后面的控制表达式的数据类型只能是整型、浮点型或者字符串
continue语句作用到switch的作用类似于break
跳出switch外的循环,可以使用continue2(假设switch外有一层循环,要想跳出循环,应执行continue2,先跳出switch分支,再跳出循环)
效率:如果条件比一个简单的比较要复制得多或者在一个很多次的循环中,那么用switch语句可能会快一些
eg:
PHP优化多个if……elseif语句情况
1、表达式的可能性越大,越往前放
2、如果判断的内容比较复制,并且判断的值只是整型、浮点型、字符串,我们可以 使用switch……case……,它会有一个效率上的提升