本文是根据慕课网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

php面试笔记(4)-php基础知识-流程控制的更多相关文章

  1. C#基础知识-流程控制的应用(四)

    流程控制我们在编程中运用到的地方非常的多,在上篇中仅仅只是简单的介绍每一种的使用,并没有运用到实例中,很难去理解它真正的作用.下面我们将实际的运用流程控制的代码写一些实例相关的程序,加深对流程控制的理 ...

  2. 【shell编程】之基础知识-流程控制

    和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); ...

  3. 016PHP基础知识——流程控制(四)

    <?php /** * 流程控制(四) do...while * do{ 代码段 * }while(){ * } * 特点:最少会执行一次代码段 */ /*$i=5; do{ echo $i; ...

  4. 015PHP基础知识——流程控制(三)

    <?php /** *流程控制(三) */ /* 循环结构: while(){ } */ //设置脚本最长执行时间:100秒 //set_time_limit(100); $lantian = ...

  5. 013PHP基础知识——流程控制(一)

    <?php /** * 13 流程控制(一) * if语句: if(表达式){ 表达式 }elseif(表达式){ 代码段 } * if语句中,一个条件成立,其他分支不执行. * if中的表达式 ...

  6. Python 基础知识----流程控制

    判断语句 循环语句 嵌套

  7. 014PHP基础知识——流程控制(二)

    <?php /** *switch 分支语句: * switch(表达式){ * case 值1: * ... * break; * * case 值2: * ... * break; * de ...

  8. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  9. Go语言基础之流程控制

    Go语言基础之流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用额流程控制有if和for,而switch和goto主要是为了简化代 ...

随机推荐

  1. python——pickle模块的详解

    pickle模块详解 该pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议. “Pickling”是将Python对象层次结构转换为字节流的过程, “unpickling”是反 ...

  2. 七牛云 融合CDN测试域名 -> 融合CDN加速域名

    七牛云 融合CDN测试域名 -> 融合CDN加速域名 本篇主要讲解 如何将七牛云融合CDN测试域名 切换到自定义的加速域名上去,为什么会写这篇是因为我收到了一封 [七牛云]测试域名回收通知的邮件 ...

  3. 固定表头的table

    在前端的开发过程中,表格时经常使用的一种展现形式.在我的开发过程中,当数据过多时,最常用的一种方式就是分页,但是有些地方还是需要滚动.通常的table 会随着滚动,导致表头看不见.一下是我找到的一种固 ...

  4. 如何配置好Selenium2Library的环境

    1.首先是下载如下文件 1,ActivePython-其自带了pip工具,很方便,记得选择activepython是2.7x版本的python: 2.依次安装wxpython,Robotframewo ...

  5. [题解][Codeforces]Codeforces Round #602 (Div. 1) 简要题解

    orz djq_cpp lgm A 题意 给定一个分别含有 \(\frac n2\) 个左括号和右括号的括号序列 每次可以将序列的一个区间翻转 求一个不超过 \(n\) 次的操作方案,使得操作完之后的 ...

  6. Math.Atan2 方法

    返回正切值为两个指定数字的商的角度. public static double Atan2 ( double y, double x ) 参数 y 点的 y 坐标. x 点的 x 坐标. 返回值 角  ...

  7. 贪心+huffman编码+模拟退火+分治(一)

    (一)贪心 1.A - 今年暑假不AC “今年暑假不AC?” “是的.” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很 ...

  8. CSS-17-页面布局

    页面布局: 静态布局: 静态布局:元素不变的布局. 布局特点:缩小后内容被遮挡,拖动滚动条显示布局 设计方法: PC:居中布局,所有样式使用绝对宽度和高度 移动设备:另外建立移动网站,以m.域名为域名 ...

  9. php--->cookie和session

    cookie和session cookie和session理解 HTTP协议本身是无状态的,这与HTTP协议本来的目的是相符的,客户端只需要简单的向服务器请求下载某些文件,无论是客户端还是服务器都没有 ...

  10. spring mvc 框架运行机制 + 数据绑定原理

    spring mvc 运行主要的组件: 1 前端控制器 (dispatchservlet) 相当于一个重要处理器,它用来调用其他功能模块来分工的效应一次请求,主要起调度的作用. 2. handler ...