<?php
/*
* PHP流程控制语句
* 1、顺序结构
* 2、分支结构
* 3、循环结构
*/
//1、顺序结构:按照语句次序顺序依次执行下去
//sum函数内部语句就是顺序依次执行的
function sum($a,$b)
{
$num=0;
$num=$a+$b;
echo $num;
}
sum(2,3);
echo '<p>';
//2、分支结构:根据判断条件选择执行不同的语句
//形式1:if语句
//形式2:if..else语句
//形式3:嵌套的else if语句
//switch语句
//if语句
//格式如下:
//if(expr){
// state1;
//state2;
//.....
//}
$day=11;
if($day==11)
{
echo '今天是什么日子?<br>';
echo '笨蛋,光棍节...<br>';
}
echo '<p>';
//if...else语句
//格式如下:
/*
* if(expr)
* {
* state1;
* ....
*}else{
* state2;
* .....
*}
*/
$weather="rain";
if(strcmp($weather,"sun")==0)
{
echo '今天天气晴好,我们去爬山吧<br>';
}else{
echo '天气不怎么好,我们还是呆在家里吧<br>';
}
echo '<p>';
//嵌套的else..if语句
//格式如下:
/*
* if(expr1){
* state1;
* }else if(expr2){
* state2;
* }else if(expr3){
* state3;
*}....
*else{
* staten;
* }
*/
$score=98;
if($score>=90){
echo 'A';
}else if($score>=80){
echo 'B';
}else if($score>=70){
echo 'C';
}else if($score>=60){
echo 'D';
}else{
echo 'E';
}
echo '<p>';
//switch语句:可以提高程序可读性
//语句格式如下:
/*
* switch(variable){
* case value1:
* state1;
* break;
* case value2:
* state2;
* break;
* ...
* default:
* state n;
* }
*/
setlocale(LC_TIME,"chs");//设置本地环境
$weekday=strftime("%A");//声明星期变量并赋值
switch($weekday){
case "星期一":
echo "今天是$weekday,新的一周开始了!";
break;
case "星期二":
echo "今天是$weekday,认真工作!";
break;
case "星期三":
echo "今天是$weekday,加把劲!";
break;
case "星期四":
echo "今天是$weekday,再坚持一下!";
break;
case "星期五":
echo "今天是$weekday,终于到头了!";
break;
case "星期六":
echo "今天是$weekday,疯狂一把!";
break;
default:
echo "今天是$weekday,平复一下心情!";
}
echo '<p>';
//3、循环结构:一定条件下反复执行某一操作
//形式有4种:
//形式1:while语句
//形式2:do...while语句
//形式3:for语句
//形式4:foreach语句
//while语句
//特点:先判断表达式,后执行语句
//语法如下:
/*
* while(expr){
* state1;
* ....
* }
*/
$num=1;
$str="10以内的偶数为:";
while($num<=10)
{
if($num%2==0){
$str.=$num." ";
}
$num++;
}
echo $str;
echo '<p>';
//do...while语句
//特点:先执行语句,然后再判断表达式。不管条件是否满足,至少执行语句1次
//语法如下:
/*
* do{
* state;
* }while(expr);
*/
$m=1;
while($m!=1)
{
echo "看不到我";
}
do{
echo "看到了";
}while($m!=1);
echo '<p>';
//for语句
//特点:前提是要知道循环次数
//语法如下:
/*
* for(expr1;expr2;expr3){
* state;
* }
*/
//其中,expr1为变量赋初始值(只执行1次);expr2为循环条件;expr3--满足条件expr2,执行循环体语句后
//expr3会进行递增或递减操作
$num=1;
for($i=1;$i<=50;$i++){
$num*=$i;
}
echo '50!='.$num;
echo '<p>';
//foreach语句
//特点:只能用于数组或对象
//语法如下:
/*
* foreach(array_expression as $value)
* state;
* 或
* foreach(array_expression as $key=>$value)
* state;
*/
//foreach语句遍历数组array_experssion,每次循环时,将当前数组中的值赋值给$value(或是$key和$value)
$good_name=array("1"=>"iPhone5s","2"=>"数码相机");
$good_price=array("1"=>"5000","2"=>"2000");
$good_num=array("1"=>"1","2"=>"3");
echo '<table width="580" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#c17e50">' .
'<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($good_name as $key=>$value){
echo '<tr>' .
'<td height="25" align="center" bgcolor="#FFFFFF" class="STYLE2">'.$value.'</td>' .
'<td align="center" bgcolor="#FFFFFF" class="STYLE2">'.$good_price[$key].'</td>' .
'<td align="center" bgcolor="#FFFFFF" class="STYLE2">'.$good_num[$key].'</td>' .
'<td align="center" bgcolor="#FFFFFF" class="STYLE2">'.$good_num[$key]*$good_price[$key].'</td>' .
'</tr>';
}
echo '</table>';
echo '<p>';
//跳转控制语句
//1、break语句
//2、continue语句
//3、return语句
//break语句:一般用于循环中,用来终止当前的循环;另外,在switch语句体中,用于退出switch执行体
//注意:break n可以用于跳出几重循环,其中参数n指定要跳出的循环数量
while(true){
$tmp=rand(1,20);
echo $tmp.' ';
if($tmp==10){
echo '<p>变量等于10,终止循环<p>';
break;
}
}
while(true)
{
for(;;)
{
for($i=0;$i<=10;$i++)
{
echo $i.' ';
if($i==6)
{
echo '<br>变量$i等于6,跳出1重循环。<p>';
break 1;//跳出本1重循环
}
}
for($j=0;$j<20;$j++)
{
echo $j.' ';
if($j==10)
{
echo '<br>变量$j等于10,跳出3重循环。<p>';
break 3;//跳出3重循环
}
}
}
echo '应该不会输出我。';
}
echo '<p>';
//continue语句:只能跳出本次循环,然后进入到下一次循环中
//注意:continue也可以指定跳出几重循环 continue n;
for($i=0;$i<10;$i++)
{
echo $i.' ';
if($i==6)
{
echo '<br>变量$i等于6,终止本次循环。<br>';
continue ;
}
}
echo '<p>';
$arr = array("PHP0","PHP1","PHP2","PHP3","PHP4","PHP5"); //声明一个数组变量$arr
for($i = 0; $i < 6; $i++)
{ //使用for循环
echo "<br>";
if($i % 2 == 0)
{ //如果$i的值为偶数,则跳出本次循环
continue;
}
for(;;)
{ //无限循环
for($j = 0; $j < count($arr); $j++)
{ //再次使用for循环输出数组变量
if($j == $i)
{ //如果当前输出的数组下标等于$i
continue 3; //跳出最外重循环
}else
{
echo $arr[$j]."\t | "; //输出表达式
}
}
}
echo "不会看到!";
}
?>
PHP流程控制语句介绍与使用
最新推荐文章于 2022-07-26 16:58:01 发布