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

126 阅读1分钟

####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;//结束循环(跳出循环)
	}
}
?>

运行结果:

向问天

参考资料(慕课网)