• PHP之流程控制


    ​ 流程控制语句对于任何一门编程语言来说都是至关重要的,它能够控制程序的执行顺序。合理使用这些控制结构可以使程序流程清晰、可读性强,从而提高开发效率。

    条件控制语句

    if语句

    ​ if语句的格式:

    <?php
    	if(表达式){
    		语句1;
    		语句2;
    		...
    	}
    ?>	
    

    流程控制图

    YES
    开始
    表达式
    条件判断
    输出A
    结束

    代码示例:判断随机数是不是偶数

    <?php
        $num = rand(1,20);
    	echo '$num = '.$num;
    	if($num % 2 == 0){
            echo "<br>$num 是偶数。";
        }
    ?>
    

    运行结果:

    $num = 4
    4 是偶数。
    

    if…esle语句

    ​ if…else语句的格式:

    <?php
        if(表达式){
            语句;
        }else{
            语句;
        }
    ?>
    

    流程图

    YES
    NO
    开始
    表达式
    条件判断
    输出A
    输出B
    结束

    代码示例:判断随机数是偶数还是奇数

    <?php
        $num = rand(1,20);
    	echo '$num = '.$num;
    	if($num % 2 == 0){
            echo "<br>$num 是偶数。";
        }else{
            echo "<br>$num 是奇数。";
        }
    ?>
    

    运行结果:

    $num = 20
    20 是偶数。
    

    elseif语句

    ​ elseif语句的格式:

    <?php
        if(表达式1){
            语句1;
        }elseif(表达式2){
            语句2;
        }
    	else{
            语句n;
        }
    

    流程图

    YES
    NO
    YES
    NO
    开始
    表达式
    条件1
    输出A
    条件2
    输出C
    输出C
    结束

    代码示例:判断某个日期是该月的哪一旬

    <?php
    	date_default_timezone_set('Asia/Shanghai');					// 设置时区
    	$month = date("n");											// 设置月份变量$month
    	$today = date("j");											// 设置日期变量$today
    	if($today > 1 and $today <= 10){							// 判断日期变量是否在1~10之间
    		echo "今天是".$month."月".$today."日,是本月上旬";		// 如果是说明是上旬
    	}elseif($today > 10 and $today <= 20){						// 否则判断日期变量是否在11~20之间
    		echo "今天是".$month."月".$today."日,是本月中旬";		// 如果是,说明是中旬
    	}else{														// 如果上面两个判断都不符合要求,则输出默认值值
    		echo "今天是".$month."月",$today."日,是本月下旬";		// 说明是本月的下旬
    	}
    ?>
    

    运行结果:

    今天是2月10日,是本月上旬
    

    switch语句

    switch语句格式:

    <?php
        switch(变量或表达式){
            case 常量表达式1:
    			语句1;
    			break;
    		case 常量表达式2:
                ...;
            case 常量表达式n;
                语句n;
                break;
            default:
                语句n+1;
        }
    ?>
    

    流程图

    开始
    输入
    条件
    输出A
    输出B
    输出C
    输出N
    结束

    代码示例:选择第三方登录接口

    <?php
    	// 接收传递的参数,并使用三元运算符判断赋值
    	$type = isset($_GET['type'] ? $_GET['type'] : '';
    	// 根据参数值,执行不同的操作
    	switch($type){
    		case 'qq':
    			echo "执行qq登录流程";
    			break;
    		case 'wechat':
    			echo "执行微信登录流程";
    			break;
    		case 'weibo':
    			echo "执行微博登录流程";
    			break;
    		default:
    			echo "执行普通登录流程";
    	}
    ?>
    

    运行结果:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YzTx6kUJ-1608643701049)(…/…/…/MarkdownImgs/编程学习/PHP学习/PHP学习笔记/switch语句代码示例运行结果.png)]

    注:

    • switch语句在执行时,即使遇到符合要求的case语句,也会继续往下执行,直到switch语句结束。为了避免这种浪费时间和资源的行为,一定要在每个case语句段后加上break语句。这里break语句的意思 是跳出当前case语句。

    循环控制语句

    for循环语句

    for循环语法格式:

    <?php
        for(初始化表达式;条件表达式;迭代表达式){
            语句;
        }
    ?>
    
    • 初始化表达式:在第一次循环时无条件取一次值;
    • 条件表达式:在每次循环开始前求值,如果值为真,则执行循环体里面的语句,否则跳出循环,继续往下执行;
    • 迭代表达式:在每次循环后被执行。

    for循环语句流程控制图:

    Created with Raphaël 2.2.0 开始 初始化表达式 条件表达式(真或假?) 程序块 迭代表达式 结束框 yes no

    代码示例:

    <?php
        $sum = 1;
    	for($i = 1;$i <= 100;$i++){
            $sum *= $i;
        }
    	echo "100的阶乘是".$sum;
    ?>
    

    运行结果:

    100的阶乘是9.3326215443944E+157
    

    注:

    • 在for循环中,无论是采用循环变量递增还是递减的方式,前提是一定要保证循环能够结束,死循环将导致程序崩溃。

    while循环语句

    while循环语句格式:

    <?php
        while(expr){
            statement;
        }
    ?>
    

    while循环流程控制图:

    Created with Raphaël 2.2.0 开始 条件表达式(真或假?) 程序块 结束框 yes no

    代码示例:

    <?php
        $num = 1;
    	$str = "10以内的偶数为:";
    	while($num <= 10){
            if($num % 2 == 0){
                $str .= $num." ";
            }
            $num++;
        }
    	echo $str;
    ?>
    

    运行结果:

    10以内的偶数为:2 4 6 8 10 
    

    do…while循环语句

    do…while循环语句格式:

    <?php
        do{
            statement;
        }while(expr);
    ?>
    

    do…while循环流程控制图:

    Created with Raphaël 2.2.0 开始 程序块 条件表达式(真或假?) 结束框 yes no

    代码示例:

    <?php
        $num = 1;
    	while($num != 1){
            echo "执行while循环";
        }
    	
    	do{
            echo "执行do...while循环";
        }while($num != 1);
    ?>
    

    运行结果:

    执行do...while循环
    

    跳转语句

    ​ 跳转语句使循环语句使用的范围更加宽泛。

    break语句

    ​ break关键字可以终止当前的循环。常用于while、do…while、for、switch控制语句中。

    代码示例:使用break语句终止循环

    <?php
        while(true){
            $tmp = rand(1,20);
            echo $tmp." ";
            if($tmp == 10){
                echo "<p>变量等于10,终止循环</p>";
                break;
            }
        }
    ?>
    

    运行结果:

    1 9 18 17 2 7 12 9 20 10 
    变量等于10,终止循环
    

    continu语句

    ​ continu关键字,终止本次循环而进入到下一次循环。continue也可以指定跳出几重循环。

    代码示例:

    <?php
        for($i = 0;$i < 5;++$i){
            if($i == 2){
                continue;
            }
            echo "$i
    ";
        }
    ?>
    

    运行结果:

    0 1 3 4 
    
  • 相关阅读:
    主席树套树状数组——带修区间第k大zoj2112
    卢卡斯定理——应用hdu4349
    没这5个证 付完钱房子也不是你的!
    Java transient关键字使用小记
    线性结构与非线性结构
    java事件处理机制(自定义事件)
    反射setAccessible()方法
    排序
    [JIRA] 最新Linux安装版本jira6.3.6安装破解以及数据导入的详细步骤
    深入研究java.lang.ThreadLocal类
  • 原文地址:https://www.cnblogs.com/z1r0s/p/14284120.html
Copyright © 2020-2023  润新知