流程控制

作者: Monkey_zhou | 来源:发表于2017-10-17 22:58 被阅读4次
    image.png

    文章来自:zhouxiaoshuai

    流程控制

    流程控制:

    题:列出三种PHP数组循环操作的语法,并说明各种循环的区别;

    考点:

    • 遍历数组的三种方式以及各自的区别;
    • 分支控制结构流程控制;

    题:列出三种PHP数组循环操作的语法,并说明各种循环的区别;
    解答:循环数组的三种方式:

    1. for()循环(while(), do whlie循环);
    2. foreach()循环;
    3. while(),list(),each() 组合循环;
    区别:
    • for()循环只能遍历索引数组;
    • foreach()循环既可以遍历索引数组,又可以遍历关联数组;
    • while(), list(), each() 组合循环同样既可以循环索引数组,又可以遍历关联数组;
    foreach()while(), list(), each()组合循环的区别:
    • 组合使用while(), list(), each()组合遍历数组,不会对数组进行reset操作;(reset:重置数组指针);
    • 使用foreach()遍历数组,会对数组进行reset操作,将数组指针重置;

    分支结构流程控制:

    1. if.....elseif.....:
    • 在elseif语句中只能有一个表达式为true,即在elseif语句中只能有一个语句块被执行,多个elseif从句是排斥的关系;
    • 使用elseif有一个基本原则:总是把优先级范围小的条件放在前面处理(可能性较大的表达式尽量写在前面);
    1. switch...case...:
    • if 不同的是,switch后面的控制表达式的数据类型只能是: 整型,浮点型, 字符串;
    • breakcontinue 的区别:
      -- break 用来跳出目前执行的循环,并不再继续执行循环了。
      -- continue 立即停止目前执行循环,并回到循环的条件判断处,继续下一个循环。
    continue 语句作用到switch 的作用类似于break ;跳出switch外的循环,可以使用continue2

    注意:switch...case... 本身会生成跳转表(索引表),直接跳转到对应的case中,效率会高点;

    解题方法:
    理解循环内部机制,更易于极易foreach 的reset特性;分之结构中,理解switch...case...的底层跳转表更易于理解效率高!
    试题:

    'PHP中如何优化多个if...elseif语句的情况?'
    1. 表达式可能性大的,放在判断前面;(表达式可能性越大,越放在前面);
    2. 如果判断的内容是 整型,浮点型和字符串三种数据类型,并且内容较为负责的话,则可以使用switch...case...会有效率的提升;
    
    

    相关文章

      网友评论

        本文标题:流程控制

        本文链接:https://www.haomeiwen.com/subject/goijuxtx.html