PHP | 条件嵌套、循环嵌套、条件循环相嵌套

时间:2022-06-18
本文章向大家介绍PHP | 条件嵌套、循环嵌套、条件循环相嵌套,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.条件嵌套

demo: 假设在发3月工资的时候,不仅判定性别,还要判定男性是否有房,没有房,可以发放住房补贴,对于女性,判定是否怀孕,怀孕还有怀孕补贴:

<?php
    $totalMoney = 0;//总工资
    $basicMoney =  8000;//基本工资
    
    $sex = "男";
    
    $noHouse = TRUE; //没有房?
    $houseMoney =  150;//住房补贴
    
    $isPregnancy = TRUE; //怀孕?
    $pregnancyMoney =  100;//怀孕补贴
    
    
    if($sex == '男')
    {
        $totalMoney = $basicMoney  + 0;// 男的没奖金
        if($noHouse)
        {
            $totalMoney = $totalMoney  + $houseMoney;
        } 
    }
    else if($sex == '女')
    {
        $totalMoney = $basicMoney  + 300;// 女的有奖金300元
        if($isPregnancy)
        {
            $totalMoney = $totalMoney  + $pregnancyMoney;
        } 
    }
    echo '这名'.$sex.'员工本月的工资为:'.$totalMoney;
?>

2.循环嵌套

循环结构嵌套,就是类似于跑多个足球场(多层循环嵌套), 例如假设有两个足球场(两个循环),一个大足球场(外循环),一个小足球场(内循环), 在大足球场跑一圈后,再到小足球场跑几圈,跑完几圈后,再到大足球场中继续跑。 遍历二维数组中很常用。                             ——慕课网

demo:

<?php
 $students = array(
'2010'=>array('令狐冲',"59"),
'2011'=>array('林平之',"44"),
'2012'=>array('曲洋',"89"),
'2013'=>array('任盈盈',"92"),
'2014'=>array('向问天',"93"),
'2015'=>array('任我行',"87"),
'2016'=>array('冲虚',"58"),
'2017'=>array('方正',"74"),
'2018'=>array('岳不群',"91"),
'2019'=>array('宁中则',"90"),
);//10个学生的学号、姓名、分数,用数组存储

//两个array,两个遍历
 
foreach($students as $key=>$value)
{ //使用循环结构遍历数组,获取学号 
     echo $key; //输出学号
     echo ":";
     //循环输出姓名和分数
     foreach($value as $v)
    {
        echo $v; 
     }
     echo "<br />";
}
?>

运行结果:

2010:令狐冲59
2011:林平之44
2012:曲洋89
2013:任盈盈92
2014:向问天93
2015:任我行87
2016:冲虚58
2017:方正74
2018:岳不群91
2019:宁中则90

3.条件循环相嵌套

有个学生数组存储了学号和姓名,我们需要查找学号为“2014”的学生姓名,这时候我们就需要遍历该数组,并判定学号是否为“2014”:

<?php
 $students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储
$query = '2014';
//使用循环结构遍历数组,获取学号和姓名
foreach($students as $key => $v)
{ 
    //使用条件结构,判断是否为该学号
    if($key == $query)
    { 
        echo $v;//输出(打印)姓名
        break;//结束循环(跳出循环)
    }
}
?>

运行结果:

向问天

参考资料(慕课网)