重温手册(四):流程控制
if…else
if(true){
echo '1'; //1
}
if(true){
echo '1'; //1
}else{
echo '2';
}
if(true){
echo '1'; //1 从上往下,只执行最先为true条件的if语句
}elseif(true){
echo '2';
}else{
echo '3';
}
do…while
$a = 0;
while($a < 10){
echo $a++; //0123456789
}
do{
echo '无条件先执行一次'; //无条件先执行一次
}while(false);
$b = 0;
do{
echo $b++; //12345678910
}while($b < 10);
for(表达式1,表达式2,表达式3)
表达式1:循环开始前无条件执行且只执行一次
$a = 0;
$b = 0;
for(++$a; ; ){
echo $a; //11111 因为只执行一次++$a,所以$a一直都是1
$b += $a;
if($b == 5){
break;
}
}
表达式2:每次循环前求值,为true继续下一次循环,为false终止循环,如果留空则无限循环(默认为true)
$a = 10;
for( ; $a--; ){
echo $a; //9876543210
}
表达式3:循环后才执行
$a = 10;
for( ; ; print_r($a)){ //987654321
$a--;
if($a == 0){
break;
}
}
foreach
$arr = array(
'一','二','三'
);
foreach($arr as $key => $value){
echo $key.'=>'.$value;
}
//0=>一
//1=>二
//2=>三
continue
跳出当前循环到上级循环,默认为1,即跳到上一层循环
for($x = 0; $x < 1; $x++){
for($y = 0; $y < 2; $y++){
for($z = 0; $z < 3; $z++){
echo "第三层";
}
echo "第二层";
}
echo "第一层";
}
//第三层 第三层 第三层 第二层 第三层 第三层 第三层 第二层 第一层
for($x = 0; $x < 1; $x++){
for($y = 0; $y < 2; $y++){
for($z = 0; $z < 3; $z++){
continue; //或者continue 1;
echo "第三层";
}
echo "第二层";
}
echo "第一层";
}
//第二层 第二层 第一层
for($x = 0; $x < 1; $x++){
for($y = 0; $y < 2; $y++){
for($z = 0; $z < 3; $z++){
continue 2;
echo "第三层";
}
echo "第二层";
}
echo "第一层";
}
//第一层
switch
一般结构:
switch($num){
case 1:
echo '一';
break;
case 2:
echo '二';
break;
case 3:
echo '三';
break;
default:
echo '其他';
break;
}
多选结构:
switch($num){
case 1:
case 2:
case 3:
echo '一二三中的一个';
break;
default:
echo '其他';
break;
}
return
脚本终止运行,默认返回NULL
function test(){
return;
}
var_dump(test()); //NULL
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: