php学习笔记之--php流程控制分支、循环结构
php流程控制分支、循环结构
目录
第一章 分支结构
1.1单路分支
1.2双路分支
1.3多路分支
1.4嵌套分支
1.5简单计数器的实现
第二章 循环结构
2.1 while 循环
2.2 do - while 循环
2.3 for 循环
2.4 break; continue; exit; return;
第一章 分支结构
1.1单路分支 //条件bool, true或false, > < == != & || ! isset() if(条件) 执行下面一条语句 if(条件) { 代码段; 代码段; } 1.2 双路分支 使用else从句 if(条件) 执行一条语句 else 执行一条语句 if(条件){ 一条或多条代码 }else{ 一条或多条代码 } 1.3 多路分支 可以使用 if else if 和 switch case //这是一种互斥的关系。 if(条件){ }elseif(条件){ }elseif(条件){ }else if(条件){ }else{ } switch(变量){ case 值: 代码; break; case 值1: 代码; break; default: 代码; } 如果是判断一段范围我们使用elseif 如果是单个值匹配我们使用switch
1.4 嵌套分支
if(){
if(){
}else{
if(){
}
}
}else{
if(){
}else{
swicth(){
}
}
}
简单计算器
<html>
<head>
<title>PHP实现简单计算器</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<?php
$num1=true;
$num2=true;
$numa=true;
$numb=true;
$message="";
//单路分支
if(isset($_GET["sub"])){
if($_GET["num1"]==""){
$num1=false;
$message.="第一个数不能为空";
}
if(!is_numeric($_GET["num1"])){
$numa=false;
$message.="第一个数不是数字";
}
if($_GET["num2"]==""){
$num2=false;
$message.="第二个数不能为空";
}
if(!is_numeric($_GET["num2"])){
$numb=false;
$message.="第二个数不是数字";
}
if($num1 && $num2 && $numa && $numb) {
$sum=0;
//多路分支switch
switch($_GET["ysf"]){
case "+":
$sum=$_GET["num1"]+$_GET["num2"];
break;
case "-":
$sum=$_GET["num1"]-$_GET["num2"];
break;
case "x":
$sum=$_GET["num1"]*$_GET["num2"];
break;
case "/":
$sum=$_GET["num1"]/$_GET["num2"];
break;
case "%":
$sum=$_GET["num1"]%$_GET["num2"];
break;
}
}
}
?>
<body>
<table align="center" border="1" width="500">
<caption><h1>计算器</h1></caption>
<form action="jsq.php">
<tr>
<td>
<input type="text" size="5" name="num1" value="<?php echo $_GET["num1"] ?>" >
</td>
<td>
<select name="ysf">
<option value="+" <?php if($_GET["ysf"]=="+") echo "selected" ?>>+</option>
<option value="-" <?php if($_GET["ysf"]=="-") echo "selected" ?>>-</option>
<option value="x" <?php echo $_GET["ysf"]=="x"?"selected":"" ?>>x</option>
<option value="/" <?php echo $_GET["ysf"]=="/"?"selected":"" ?>>/</option>
<option value="%" <?php echo $_GET["ysf"]=="%"?"selected":"" ?>>%</option>
</select>
</td>
<td>
<input type="text" size="5" name="num2" value="<?php echo $_GET["num2"] ?>">
</td>
<td>
<input type="submit" name="sub" value="计算">
</td>
</tr>
<?php
if(isset($_GET["sub"])){
echo '<tr><td colspan="5">';
if($num1 && $num1 && $numa && $numb){
echo "结果:".$_GET["num1"]." ".$_GET["ysf"]." ".$_GET["num2"]." = ".$sum;
}else{
echo $message;
}
echo '</td></tr>';
}
?>
</form>
</table>
</body>
</html>
第二章 循环结构
2.1while循环
if(表达式)
只一次语句
while(表达式)
反复执行一条语句;
while(表达式){
反复执行这个循环体
}
while是先判断条件,成立则执行
注意死循环
$i=0;
while($i<100)
{
if($i==3)
continue; //为死循环,因为一到此句就会跳过$i++所以,$i永远是2。
echo ".$i."."<br>";
$i++;
}
2.2 do-while循环
do-while是先执行再判断条件
2.3for 循环
for(初使化;条件表达式;增量){
循环体
}
根据循环条不同有两种类型的循环
一种:计数循环 for
另一种:条件型循环 while do-while
2.4几个和循环有关的语句
break 退出该层循环不再执行
continue 退出该层的本次循环
exit 停止程序运行,不输出内容
return 返回函数,若在主函数中,则会退出函数并返回一值
for($i=1;$i<=9;$i++)
{
for($j=1;$j<=$i;$j++)
{
if($j==4)
break; // 退出$j循环不再执行
break 2; // 退出$i循环不再执行
continue;//本次$j循环 不执行,执行下一次
continue 2;//本次$i循环不执行,执行下一次
echo $j."*".$i."=".$j*$i."  ";
}
echo "<br>";
}