本篇文章给大家带来的内容是关于php流程控制的知识总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。PHP 的遍历数组的三种方式:for循环、foreach循环、while、list()、each()组合循环
PHP当中数组分为:索引数组【转换成json是数组】和关联数组【转换成json是对象】
for循环只能遍历索引数组,foreach可以遍历索引数组和关联数组,while、list()、each()组合循环同样可以遍历索引数组和关联数组
while、list()、each()组合不会把数组指针reset()
foreach遍历会对数组进行reset()操作
php分支:if……elseif(一个基本原则:把可能性大的条件放在前面处理)
php分支:switch……case……(switch后面的控制表达式的数据类型只能是:整形、浮点类型或者字符串),switch中使用continue作用和break一样,跳出switch外循环,使用continue num、break num,break num是结束外层第num层整个循环体,continue num 是结束外层第num层单次循环
PHP中switch……case……会生成跳转表(底层使用原理),直接跳转到对应case,不像if elseif那样去一层层的判断
分支判断提升效率小技巧:如果判断一个情况比较复杂的且判断的只有整形、浮点类型或者字符串,可以用switch处理,会提升效率
证明例子:<?php
$arr = ["apple", "pear", "banana", "orange", "lemon", "strawberry"]; ;
end($arr); //数组指针指向最后一个值
var_dump("打印当前数组指针对应的值:".current($arr)); //打印当前数组指针对应的数组
foreach ($arr as $key => $val){
var_dump("打印foreach循环当前数组指针对应的值:".$val);
if($key == 3){
break;
}
}
var_dump("打印当前数组指针对应的值:".current($arr)); //打印当前数组指针对应的数组
while($element = each($arr)) {
var_dump($element);
}
//输出结果:
string '打印当前数组指针对应的值:strawberry' (length=49)
string '打印foreach循环当前数组指针对应的值:apple' (length=57)
string '打印foreach循环当前数组指针对应的值:pear' (length=56)
string '打印foreach循环当前数组指针对应的值:banana' (length=58)
string '打印foreach循环当前数组指针对应的值:orange' (length=58)
string '打印当前数组指针对应的值:lemon' (length=44)
array (size=4)
1 => string 'lemon' (length=5)
'value' => string 'lemon' (length=5)
0 => int 4
'key' => int 4
array (size=4)
1 => string 'strawberry' (length=10)
'value' => string 'strawberry' (length=10)
0 => int 5
'key' => int 5