A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

回顾真题
请列出3种php数组循环操作的语法,并注明各种循环的区别
答案:
  • for
  • foreach
  • 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语句的情况?
答案:
  • 将条件范围小的尽可能放在前面处理;
  • 当判断条件为整形、浮点、字符串数据类型时用switch……case……语句。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马