前言
本系列文章主要是根据实战视频《360大牛:全面解读PHP面试》学习过程中记录的学习笔记,期间也会加入查找资料和平时学习中学习到的知识。
PHP的遍历数组的三种方式以及各自区别
①使用 for 循环
②使用 foreach 循环
③使用 while、list()、 each() 组合循环
区别:
①for循环只能遍历索引数组;foreach可以遍历索引和关联数组;联合使用list(),each()和while循环同样可以遍历索引和关联数组。
②while、list()、each()组合不会reset()(即数组指针不会重置)。
③foreach遍历会对数组进行reset()操作(即在开始遍历之前会把数组的指针重置到起始位置)。
常用分支语句
if......elseif
在elseif语句中只能有一个表达式为true,即在elseif语句中只能有一个语句块被执行,多个elseif从句是排斥关系。
使用elseif语句有一个基本原则,总把优先范围小的条件放在前面处理。
switch ... case ...
和if不同,switch后面的控制表达式的数据类型只能是整型、浮点型或者字符串。(补充:布尔型也可以,经过测试了;null 也可以,不过识别为false)。
<?php
$bool = null;
//$bool = true;
switch ($bool) {
case TRUE:
echo 'true';
break;
case FALSE:
echo 'false'; //命中此处逻辑,输出为 false
break;
case NULL: echo 'null';
break;
}
技巧
continue语句作用到switch的作用类似于break。若想从switch中直接跳出switch外的一个循环,可以使用continue2
switch...case会生成跳转表(索引表),直接跳转到对应的case。
效率:如果条件比一个简单的比较要复杂得多或者在一个很多次的循环中,那么用switch语句可能会快一些。