PHP面试 PHP基础知识 四(流程控制)

时间:2020-11-29 15:16:46

流程控制

  PHP遍历数组的三种方式及各自的区别

  三种方式:使用for循环、使用foreach循环、使用while、list()、each()组合循环

  区别:foe循环只能遍历索引数组,foeach可以遍历索引和关联数组,联合使用list(),each()和while循环同样可以

      遍历索引数组和关联数组。

  while、list()、each()组合不会reset();  指针重置操作

  foreach遍历会对数组进行reset()操作  指针重置操作

  if...elseif  分支

  在elseif语句中只能有一个表达式为true,即在elseif语句中只能有一个语句块被执行,多个elseif从句是排斥关

  系。

  使用elseif语句有一个基本原则,总是把优先范围小的条件放在前面。

  switch...case...  分支

  和if不同的是,switch后面的控制表达式的数据类型只能是整形、浮点类型或者字符串。

  switch...case...会生成一个跳转表,直接跳转到对应的case。

  if...elseif  与 switch...case... 相比较

  效率:如果条件比一个简单的比较要复杂的多或者在一个很多次的循环中,那么用switch语句可能会快一些。

  跳出switch外的循环,可以使用continue2

  

for(){

    switch($val){

             case:代码块;
break; //continue = break
//跳出switch外的循环可以使用continue2 case:代码块;
break; default:代码块;
break;
} }
switch($val){
//$val值只能是整型 浮点 字符串
case :代码块;
break;
    
case:代码块;
break; default:...;
break;
}

  思考一个面试题

    PHP中如何优化多个if...elseif语句的情况?