PHP流程控制考察点

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

三种方式:

  • 使用for循环
  • 使用foreach循环
  • 使用while、list()、each()组合循环

区别:

  • for循环只能遍历索引数组,foreach可以遍历索引跟关联数组,联合使用list()、each()和while同样可以遍历索引和关联数组
  • while和list()、each()组合不会reset,也就是数组的指针不会回到开头,这样也就不会把指针清零;这样如果刚开始遍历的时候,指针没有指向第一个索引,就不会遍历第一个索引
  • foreach遍历会对数组进行reset操作;

while、list、each组合

注意:当each()指向最后时,返回false,因此可以配合while使用;each()函数在PHP7中已被弃用

<?php
    $array = array(
        "姓名"=>"初雨",
        "age"=>"18",
        "爱好"=>"PHP"
    );

    while(list($key,$value) = each($array)){
        echo $key . "=>" . $value."<br>";
    }
?>

 

 PHP分支考点

 if...elseif

    •  在elseif语句中只能有一个表达式为true,即在elseif语句中只能有一个语句块被执行,多个elseif从句是排斥关系
    •  使用elseif语句有一个基本原则,总是优先把范围小的条件放到前面处理

if...elseif的优化

    •   尽量把可能性大的条件写在前面。
    •  如果判断的内容是整形、符点类型或字符串的话,可以用switch进行替换

switch...case...

  • 和if不同,switch后面的控制表达式的数据类型只能是整形、符点类型或字符串
  • continue语句作用在switch里面,相当于break。如果想让continue跳出switch外面的循环,可以使用 continue2,continue2可以跳出两层循环
  • 由于switch...case...会生成一个跳转表,直接跳转到case里,所以在执行复杂判断时使用switch case会大大提升效率
  • 如果条件比一个简单的比较要复杂的多或者在一个很多次的循环中,那么用switch语句可能会快一些

 

posted @ 2020-05-06 08:43  初雨诗清风  阅读(118)  评论(0编辑  收藏  举报