黑马程序员技术交流社区

标题: 【上海校区】php面试笔记(4)-php基础知识-流程控制 [打印本页]

作者: 梦缠绕的时候    时间: 2020-2-19 17:17
标题: 【上海校区】php面试笔记(4)-php基础知识-流程控制
回顾真题
请列出3种php数组循环操作的语法,并注明各种循环的区别
答案:
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语句的情况?
答案:






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2