当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

3.4.1赋值语句

9/17/2020 9:38:49 PM 人评论

3.4.1赋值语句

3.4 常用语句

本节将介绍PHP语言的常用语句,包括赋值语句、分支语句、循环语句、注释语句和其他常用语句。使用这些语句就可以编写简单的PHP程序了。

3.4.1 赋值语句

赋值语句是PHP语言中最简单、最常用的语句。通过赋值语句可以定义变量并为其赋初始值。在3.3.1小节介绍赋值运算符时,已经涉及了赋值语句,例如:

$a = 2;

$b = $a + 5;

变量赋值分为值传递和地址传递两种情况,具体内容参照3.2.3小节理解。

3.4.2 条件分支语句

条件分支语句指当指定表达式取不同的值时,程序运行的流程也发生相应的分支变化。PHP提供的条件分支语句包括if语句和switch语句。

1.if语句

if语句是最常用的一种条件分支语句,其基本语法结构如下:

if(条件表达式)

语句块

只有当“条件表达式”等于 True 时,执行“语句块”。if语句的流程图如图3-8所示。

figure_0045_0057

图3-8 if语句的流程图

【例3-21】 if语句的例子。

if($a > 10)

echo "变量\$a大于10";

如果语句块中包含多条语句,可以使用{}将语句块包含起来。例如:

if($a > 10) {

echo "变量\$a大于10";

$a = 10;

}

if语句可以嵌套使用,也就是说在<语句块>中还可以使用if语句。

【例3-22】 嵌套if语句的例子。

if($a > 10) {

echo "变量\$a大于10";

if($a > 100)

echo "变量\$a大于100";

}

figure_0046_0058

在使用if语句时,语句块的代码应该比上面的if语句缩进2个(或4个)空格,从而使程序的结构更加清晰。

2.else语句

可以将else语句与if语句结合使用,指定不满足条件时所执行的语句。其基本语法结构如下:

if(条件表达式)

语句块1

else

语句块2

当条件表达式等于True时,执行语句块1,否则执行语句块2。if…else…语句的流程图如图3-9所示。

figure_0046_0059

图3-9 if…else…语句的流程图

【例3-23】 if...else...语句的例子。

if($a > 10)

echo "变量\$a大于10";

else

echo "变量\$a小于或等于10";

3.elseif语句

elseif语句是else语句和if语句的组合,当不满足if语句中指定的条件时,可以再使用elseif语句指定另外一个条件。其基本语法结构如下:

if 条件表达式1

语句块1

elseif 条件表达式2

语句块2

elseif 条件表达式3

语句块3

……

else

语句块n

在一个if语句中,可以包含多个elseif语句。if…elseif…else…语句的流程图如图3-10所示。

【例3-24】 下面是一个显示当前系统日期的 PHP 代码,其中使用到了 if 语句、elseif 语句和else语句。

figure_0047_0060

图3-10 if…elseif…else…语句的流程图

<?PHP

$today = getdate();

echo("今天是");

if($today['wday']==1) {

echo("星期一");

}

elseif($today['wday']==2) {

echo("星期二");

}

elseif($today['wday']==3) {

echo("星期三");

}

elseif($today['wday']==4) {

echo("星期四");

}

elseif($today['wday']==5) {

echo("星期五");

}

elseif($today['wday']==6) {

echo("星期六");

}

else {

echo("星期日");

}

?>

getdate()是PHP的日期时间函数,它返回一个数组。可以通过一组键值访问返回的数组,获取当前系统日期中的数据,如表3-5所示。关于数组的概念和应用请参见第4章。

表3-5 日期数组中的键值

figure_0048_0061

在例3-24中使用$today['wday']返回变量$today对应的星期数字,根据此值使用if语句显示当前日期对应的星期文字。此实例保存为附赠光盘的“第2章\weekday.php”。

4.switch语句

很多时候需要根据一个表达式的不同取值对程序进行不同的处理,此时可以使用switch语句,其语法结构如下:

switch(表达式) {

case 值1:

语句块1

break;

case 值2:

语句块2

break;

……

case 值n:

语句块n

break;

default:

语句块n+1

}

case子句可以多次重复使用,当表达式等于值1时,则执行语句块1;当表达式等于值2时,则执行语句块2;依此类推。如果以上条件都不满足,则执行default子句中指定的<语句块n>。每个case子句的最后都包含一个break语句,执行此语句会退出switch语句,不再执行后面的语句。switch语句的流程图如图3-11所示。

figure_0049_0062

图3-11 switch语句的流程图

【例3-25】 将例3-24的程序使用switch语句来实现,代码如下:

<?PHP

$today = getdate();

echo("今天是");

switch($today['wday']) {

case 1:

echo("星期一");

break;

case 2:

echo("星期二");

break;

case 3:

echo("星期三");

break;

case 4:

echo("星期四");

break;

case 5:

echo("星期五");

break;

case 6:

echo("星期六");

break;

default:

echo("星期日");

}

?>

3.4.3 循环语句

循环语句即在满足指定条件的情况下循环执行一段代码,并在指定的条件下执行循环。

PHP中的循环语句包括while语句、do…while语句、for语句和foreach语句。

1.while语句

while语句的基本语法结构如下:

while(条件表达式) {

循环语句体

}

当条件表达式等于True时,程序循环执行循环语句体中的代码。while语句的流程图如图3-12所示。

figure_0050_0063

图3-12 while语句的流程图

figure_0050_0064

通常情况下,循环语句体中会有代码来改变条件表达式的值,从而使其等于 False而结束循环语句。如果退出循环的条件一直无法满足,则会产生死循环。这是程序员不希望看到的。

【例3-26】 下面通过一个实例来演示while语句的使用。

<?PHP

$i = 1;

$sum = 0;

while($i<11) {

$sum = $sum + $i;

$i++;

}

echo($sum);

?>

程序使用while循环计算从1累加到10的结果。每次执行循环体时,变量$i会增1,当变量$i等于11时,退出循环。运行结果为55。

2.do…while语句

do…while语句和while语句很相似,它们的主要区别在于 while 语句在执行循环体之前检查表达式的值,而do…while 语句则是在执行循环体之后检查表达式的值。do…while语句的流程图如图3-13所示。

figure_0050_0065

图3-13 do…while语句的流程图

do…while语句的基本语法结构如下:

do {

循环语句体

} while(条件表达式);

【例3-27】 下面通过一个实例来演示do…while语句的使用。

<?PHP

$i = 1;

$sum = 0;

do {

$sum = $sum + $i;

$i++;

} while($i<11);

echo($sum);

?>

程序使用do…while语句循环计算从1累加到10的结果。每次执行循环体时,变量$i会增1,当变量$i等于11时,退出循环。运行结果为55。

3.for语句

PHP中的for语句与C++中的for语句相似,其基本语法结构如下:

for(表达式1;表达式2;表达式3) {

循环体

}

程序在开始循环时计算表达式1的值,通常对循环计数器变量进行初始化设置;每次循环开始之前,计算表达式2的值,如果为True,则继续执行循环,否则退出循环;每次循环结束之后,对表达式3进行求值,通常改变循环计数器变量的值,使表达式2在某次循环结束后等于False,从而退出循环。for语句的流程图如图3-14所示。

figure_0051_0066

图3-14 for语句的流程图

【例3-28】 下面通过一个实例来演示for语句的使用。

<?PHP

$sum = 0;

for($i=1; $i<11; $i++) {

$sum = $sum + $i;

}

echo($sum);

?>

程序使用for语句循环计算从1累加到10的结果。循环计数器$i的初始值被设置为1,每次循环变量$i的值增加1;当$i<11时执行循环体。运行结果为55。

使用foreach语句可以遍历数组中的元素,本书将在第4章介绍它的使用情况。

4.continue语句

在循环体中使用continue语句可以跳过本次循环后面的代码,重新开始下一次循环。

【例3-29】 如果只计算1~100的偶数之和,可以使用下面的代码:

<?PHP

$i = 1;

$sum = 0;

while($i<101) {

if($i % 2 == 1) {

$i++;

continue;

}

$sum = $sum + $i;

$i++;

}

echo($sum);

?>

如果$i%2等于1,表示变量$i是奇数。此时,只对$i加1,然后执行continue语句开始下一次循环,并不将其累加到变量$sum中。

5.break语句

在循环体中使用break语句可以跳出循环体。

【例3-30】 将例3-26修改为使用break语句跳出循环体。

<?PHP

$i = 1;

$sum = 0;

while(true) {

if($i>=11)

break;

$sum = $sum + $i;

$i++;

}

echo($sum);

?>

上一篇:3.3.1运算符

下一篇:3.5.1字符串常量

相关教程

共有条评论 网友评论

验证码: 看不清楚?