条件控制语句
1) if条件控制语句
语法:
If(expr)
Statement; //这是基本的表达式
If() {} //这是执行多条语句的表达式
If() {} else {} //这是通过else延伸了的表达式
If() {} elseif () {} else {} //这是加入了elseif同时判断多个条件的表达式
示例:<?php
if($Submit==true){
$user = $_POST['user'];
$password = $_POST['password'];
if(empty($user) || empty($password)){
echo "<script>alert('用户名或密码不能为空'); history.back();</script>";
}else{
echo "登陆成功!";
}}
?>
2) switch多分支语句
语法:
Switch(expr){ //expr条件为变量名称
Case expr1: //case后的expr1为变量的值,最后必须为冒号“:”
Statement1; //冒号“:”后是符合该条件时要执行的部分
Break; //应用break来跳离循环体
Case expr2:
Statement2;
Break;
Default:
statementN;
break;
}
示例:<?php
switch($lmbs){
case "精品屋":
include "index1.php";
break;
case "新品上市":
include "index2.php";
break;
case "特价区":
include "index3.php";
break;
case "商品浏览":
include "index4.php";
break;
case "":
include "index4.php";
break;
}
?>
循环语句
1) while循环语句
对表达式的值进行判断,当表达式为非0值时,执行while语句中内嵌语句;当表达式的值为0时,则不执行while语句中的内嵌语句。特点:先判断表达式,后执行语句。
语法:
While(expr){ //expr是表达式
Statement; //当表达式expr的值为true时,输出内容
}
示例:
<?php $query="select * from tb_user ";
$result=mysql_query($query);
while($myrow=mysql_fetch_array($result)){
?>
<tr>
<td height="25" align="center" bgcolor="#FFFFFF"><span class="STYLE6"><?php echo $myrow[username];?></span></td>
<td align="center" bgcolor="#FFFFFF"><span class="STYLE6"><?php echo $myrow[password];?></span></td>
<td align="center" bgcolor="#FFFFFF"><span class="STYLE6"><?php echo $myrow[data];?></span></td>
</tr>
<?php }?>
2) do----while循环语句
先执行一次指定的循环体语句,然后判断表达式的值,当表达式的值为非0时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结束。特点:先执行循环体,然后判断条件是否成立。
语法:
Do{
Statement;
}while(expr);
3) for循环语句
拥有3个条件表达式,执行是首先执行表达式1;然后执行表达式2,并对表达式2的值进行判断,如果为真,则执行for循环内嵌的语句,如果值为假,则结束循环;最后执行表达式3。
语法:
For(expr1;expr2;expr3){
Statement
}
参数:
Expr1:在第一次循环开始时被执行,必要参数;
Expr2:在每次循环开始时被执行,决定循环是否继续,必要参数;
Expr3:在每次循环结束时被执行;
Statement:满足条件后,循环执行的语句。
示例:乘法口决表
<?php
for ($i=1;$i<=9;$i++){
echo '<table border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#666666">';
echo "<tr>";
for ($j=1;$j<=$i;$j++){
$c=$i*$j;
echo '<td bgcolor="#FFFFFF">';
echo "$i*$j=$c";
echo "</td>";
}
echo "</tr>";
echo "</table>";
}
?>
运行结果:
4*1=4 |
4*2=8 |
4*3=12 |
4*4=16 |
5*1=5 |
5*2=10 |
5*3=15 |
5*4=20 |
5*5=25 |
6*1=6 |
6*2=12 |
6*3=18 |
6*4=24 |
6*5=30 |
6*6=36 |
7*1=7 |
7*2=14 |
7*3=21 |
7*4=28 |
7*5=35 |
7*6=42 |
7*7=49 |
8*1=8 |
8*2=16 |
8*3=24 |
8*4=32 |
8*5=40 |
8*6=48 |
8*7=56 |
8*8=64 |
9*1=9 |
9*2=18 |
9*3=27 |
9*4=36 |
9*5=45 |
9*6=54 |
9*7=63 |
9*8=72 |
9*9=81 |
3) foreach循环语句
主要用于处理数组,是遍历数组的一种简单方法。自php4开始引入。
语法:(两种格式)
Foreach(array_expression as $value){
Statement
}
或:Foreach(array_expression as $key => $value){
Statement
}
参数:array_expression是指要遍历的数组;
$value是数组的值;
$key是数组的键名;
Statement是满足条件时要循环执行的语句。
示例:
<?php
$name = array("1"=>"钢笔","2"=>"衬衫","3"=>"手机","4"=>"电脑");
$price = array("1"=>"108元","2"=>"88元","3"=>"666元","4"=>"6666元");
$counts = array("1"=>1,"2"=>1,"3"=>2,"4"=>1);
echo '<table width="580" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#FF0000">
<tr>
<td width="145" align="center" bgcolor="#FFFFFF" class="STYLE1">商品名称</td>
<td width="145" align="center" bgcolor="#FFFFFF" class="STYLE1">价 格</td>
<td width="145" align="center" bgcolor="#FFFFFF" class="STYLE1">数量</td>
<td width="145" align="center" bgcolor="#FFFFFF" class="STYLE1">金额</td>
</tr>';
foreach($name as $key=>$value){ //以数组做循环,输出键和值
echo '<tr>
<td height="25" align="center" bgcolor="#FFFFFF" class="STYLE2">'.$value.'</td>
<td align="center" bgcolor="#FFFFFF" class="STYLE2">'.$price[$key].'</td>
<td align="center" bgcolor="#FFFFFF" class="STYLE2">'.$counts[$key].'</td>
<td align="center" bgcolor="#FFFFFF" class="STYLE2">'.$counts[$key]*$price[$key].'</td>
</tr>';
}
echo '</table>';
?>
跳转语句
1) break跳转语句
用于结束当前条件控制语句if、switch或者循环控制语句while、do----while、for、foreach的执行。Break语句可以接受一个可选参数来决定跳出几重循环。
示例:
<table>
<tr>
<td align="center"><span class="STYLE7">获取数据表中的前
<input name="counts" type="text" id="counts" size="5">
条记录
<input type="submit" name="Submit" value="提交">
</span>
</td>
</tr>
</table>
<?php if(is_numeric($counts)==true){ //判断输入的数据是否是数字
?>
<table width="523" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#F6842C">
<tr>
<td height="35" align="center" bgcolor="#FFFFFF"><span class="STYLE6">用户名</span></td>
<td align="center" bgcolor="#FFFFFF"><span class="STYLE6">密码</span></td>
<td align="center" bgcolor="#FFFFFF"><span class="STYLE6">时间</span></td>
</tr>
<?php $query="select * from tb_user "; //读取数据库中的数据
$result=mysql_query($query);
while($myrow=mysql_fetch_array($result)){ //应用while循环控制语句输出数据库中的数据
if($myrow[id]==$counts+1){ //判断当id=$counts+1时,跳出while循环
break;
}
?>
<tr>
<td height="25" align="center" bgcolor="#FFFFFF"><span class="STYLE6"><?php echo $myrow[username];?></span></td>
<td align="center" bgcolor="#FFFFFF"><span class="STYLE6"><?php echo $myrow[password];?></span></td>
<td align="center" bgcolor="#FFFFFF"><span class="STYLE6"><?php echo $myrow[data];?></span></td>
</tr>
<?php }?>
2) continue跳转语句
用来跳过本次循环中指定条件的语句,并且继续执行其他的循环语句。
示例:
<table width="523" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#F98532">
<form name="form1" method="post" action="index.php">
<tr>
<td align="center"><span class="STYLE7">获取数据表中除第 <input name="counts" type="text" id="counts" size="5"> 条记录外的所有记录
<input type="submit" name="Submit" value="提交">
</td>
</tr>
</form>
</table>
<?php if(is_numeric($counts)==true){ //判断输入的数据是否是数字
?>
<table width="523" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#F6842C">
<tr>
<td align="center" bgcolor="#FFFFFF" class="STYLE6">ID</td>
<td height="35" align="center" bgcolor="#FFFFFF"><span class="STYLE6">文件名</span></td>
<td align="center" bgcolor="#FFFFFF" class="STYLE6">存储路径</td>
<td align="center" bgcolor="#FFFFFF"><span class="STYLE6">时间</span></td>
</tr>
<?php $query="select * from tb_up_file "; //读取数据库中的数据
$result=mysql_query($query);
while($myrow=mysql_fetch_array($result)){ //应用while循环控制语句输出数据库中的数据
if($myrow[id]==$counts){ //判断当id=$counts时,跳出while循环
continue;
}
?>
<tr>
<td align="center" bgcolor="#FFFFFF" class="STYLE6"><?php echo $myrow[id];?></td>
<td height="25" align="center" bgcolor="#FFFFFF"><span class="STYLE6"><?php echo $myrow[file_name];?></span></td>
<td align="center" bgcolor="#FFFFFF"><span class="STYLE6"><?php echo $myrow[file_text];?></span></td>
<td align="center" bgcolor="#FFFFFF"><span class="STYLE6"><?php echo $myrow[data];?></span></td>
</tr>
<?php }?>
两者的区别:continue语句只是结束本次循环,并不终止整个循环的执行;而break语句则是结束整个循环过程,不管判断执行循环的条件是否成立。
3) return跳转语句
用于结束一个函数或者脚本文件的执行。如果在一个函数中调用return语句,将立即结束该函数的执行并将它的参数作为函数的值返回;如果在全局范围中调用,则当前脚本文件终止运行。使用最多的地方是自定义函数中,通过return语句返回变量的值。