zoukankan      html  css  js  c++  java
  • php面试笔记(4)-php基础知识-流程控制

    本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com

    在面试中,考官往往喜欢基础扎实的面试者,而流程控制相关的考点,往往是大家容易忽视的一个点,今天冷月就来帮各位小伙伴们梳理一下,在面试中流程控制相关的注意点。

    回顾真题

    请列出3种php数组循环操作的语法,并注明各种循环的区别

    答案:

    1. for
    2. foreach
    3. while、list()、each()

    for()

    for循环是常见的循环结构,但是只能遍历索引数组。

    foreach()

    foreach既可以遍历索引数组,也可以遍历关联数组。但是每次调用foreach时数组的内部指针会重置到数组中的第一个元素。

    while、list()、each()

    list()函数可以取出数组中指定的一个元素。

    each()函数参数必须传一个数组,返回的值也是一个数组,该数组中包含4个元素,且下标一定是固定的(1 value 0 key)。each()函数处理当前数组中的第一个元素后,会自动将指针指向下一个元素,如果指针已经在结束位置了,如果再使用each()获取元素则返回false。
    其使用方法如下:

    <?php
    /**
     * Created by 冷月小白.
     * 微信公众号: 学长冷月
     */
    	$arr = ['a','b','c'];
        while(list($key,$value)=each($arr))
        {
            echo $key."=>".$value;
            echo "<br>";
        }
    ?>
    

    既可以遍历索引数组,也可以遍历关联数组。

    考点分析

    本考点看似是考察各位对于php遍历数组的理解,其实是在考察大家对于流程控制的理解。大家在平时的练习中也多注意对基础的理解。冷月在上几篇博文中,也讲到了这方面的知识。大家可以 关注冷月的微信公众号:学长冷月。回复:php面试。冷月将整理好的资料发给您。 下面冷月将介绍几个常考点。

    if……else if

    在若干条件之一成立时执行一个代码块,也就是说一次执行中,只能有一个代码块被执行。

    <?php
    /**
     * Created by 冷月小白.
     * 微信公众号: 学长冷月
     */
    if (条件)
    {
        if 条件成立时执行的代码;
    }
    elseif (条件)
    {
        elseif 条件成立时执行的代码;
    }
    else
    {
        条件不成立时执行的代码;
    }
    ?>
    

    大家可以思考一下,如何提高if……else if的性能。答案是,尽可能把范围小的放到前面来处理。这样php脚本在执行中,就可能执行更少的匹配。或者当判断的条件是整形、浮点、字符串时可以使用Switch 语句。

    Switch 语句

    switch 语句用于根据多个不同条件执行不同动作。在复杂多层次循环中,switch语句可以快一些。

    <?php
    /**
     * Created by 冷月小白.
     * 微信公众号: 学长冷月
     */
    switch (x)
    {
    case 1:
        //if x==1,执行
        break; //在switch语句中,continue的效果和break一样
    case 2:
        //if x==2,执行
        break;
    default:
        //if x!=1 || x!=2,执行
    }
    ?>
    

    一网打尽

    在学习了本博文之后,冷月来测试一下大家对于知识的掌握程度。请看下面这道题:

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

    答案:

    1. 将条件范围小的尽可能放在前面处理;
    2. 当判断条件为整形、浮点、字符串数据类型时用switch……case……语句。

    欢迎关注我的公众号:学长冷月,获得独家整理的学习资源和日常干货推送。
    如果您对我的专题内容感兴趣,也可以关注我的博客:guoyu7.com

  • 相关阅读:
    时间戳与时间之间的相互转化
    源代码管理之Git命令的使用
    ios最新设置状态栏字体颜色总结
    iOS 代码方式设置按钮标题、图片的偏移
    runloop简单介绍
    iOS中的多线程NSThread/GCD/NSOperation & NSOperationQueue
    AFNetworking的详细解析
    MATLAB相关快捷键以及常用函数
    CentOS 5.8下快速搭建FTP服务器
    php获取跳转后的真实链接
  • 原文地址:https://www.cnblogs.com/guoyugy/p/12331819.html
Copyright © 2011-2022 走看看