重温手册(四):流程控制

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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!