流程控制与条件判断
流程控制语句
3中流程控制语句
使用for循环
使用foreach循环
使用while、list()、each()组合循环
介绍:
for循环,只能遍历索引数组,
foreach可以遍历索引和关联数组
联合使用list(),each()和while循环同样可以遍历索引和关联数组
区别
list(),each()和while组合不会reset()操作(之前有对数组进行了指针的操作,则使用此方式,则不会重置数组,而是在这个指针往后循环,就会出现数据不完整)
forreach遍历会对数组进行resrt()操作
示例:
<?php
$data = array('a','b','c');
next($data); //改变了数组的指针指向
echo 'while循环' . '<br>';
while(list($k,$v) = each($data)){
echo $k . '=' . $v. '<br />';
}
echo 'for循环' . '<br>';
for($i=0;$i< count($data); $i++) {
echo $i . '=' . $data[$i] . '<br>';
}
echo 'foreach循环' . '<br>';
foreach($data as $k => $v) {
echo $k . '=' . $v . '<br>';
}
输出结果:
while循环
1=b
2=c
for循环
0=a
1=b
2=c
foreach循环
0=a
1=b
2=c
条件判断语句
switch...case..语句
switch后面的控制表达式的数据类型只能是整型、浮点类型或者字符串
continue语句作用到switch的作用类似break;
跳出switch外的循环,可以使用continue2 或者break2;
示例:
<?php
$a = 10;
for($i=0;$i< 10;$i++) {
switch($i){
case 5:
break 2;
default:
break;
}
echo $i.'<br>';
}
结果:
0
1
2
3
4
效率:
如果条件判断比较复杂或者在一个很多次的循环中,那么用switch语句可能会快一些
php如何优化多个if..else语句的情况?
1.尽量把可能性大的判断往前放
2.如果条件判断比较复杂或者在一个很多次的循环中,并且判断是一个是整型、浮点类型或者字符串换用switch..case..
Last updated
Was this helpful?