PHP的控制结构:条件和循环(if和switch)

控制结构是指条件和循环,它是编程语言的主要组成部分。PHP包含两种常见的条件控制语句:if和switch。

你可以使用条件控制语句来测试某个变量或表达式是否满足某一特定的条件,并基于测试的结果执行相应的操作。这些功能能够用来构建更具动态性的Web网站。

附:if条件的讨论还有两个重要运算符:比较运算符和逻辑运算符。通常这些运算符还将连同布尔概念中的真/假概念一起运用。

一、if条件语旬

编程基本的条件语句是标准的if(也曾被称作为if-then条件语句,现在then被默认而不提出)。这种条件语句的语陆非常简单:
if (condition){
statement(s);
}
该条件必须同圆括号一同使用,并且语句部分要被放置在花括号中,这些是需要执行的命令。(例如,打即字符串或者将两数相加)。每句单独的语句(或者命令) 都必须拥有自己的分号以示本行的结束,但是对于和一个条件相关联的语句数量并没有限制。
开发人员通常将这些语句从if起始的代码行开始进行缩进处理,用来指出它们是条件的结果, 但是这种格式并不是语法上要求的。
也有人这样使用语注:
if (condition)
{
statement (s);
}
如何安排花括号是个人喜好问题一一这在网上有一些小争议。选择一种你喜欢的风格,并坚持使用就可以了。
在每行语句后没有使用分号,忘记一个打开或者关闭的回括号或者花括号,或者在花括号后使用了分号都将导致错误发生。因此在代码中使用条件语句时请留意语能是否正确。

附:PHP使用布尔值(TRUE和lFALSE) 来检测是否执行该语句。如果条件为TRUE,贝lj执行语句$ 如果是FALSE,则不执行。

二、使用else

在if条件语句之后要介绍的下一个逻辑形式是if-else条件语句。它可以用来构建这样的条件:当条件满足时执行一组语句,而条件不满足时执行另外的语句:
if (condition){
statement(s);
}else {
other_statement(s);
}
使用这个结构需要牢记的要点是, 除非完全满足条件,否则将执行else语句。换句话说,else后的语句指明的是默认行为, 因此在if条件后的语句才是规则的例外。

三、使用elseif

if-elseif (或者if-elseif-else) 条件同if-else条件类似。它的作用就像是运行if语句, 并且能够按照需要进行任意长度的扩展:
if (conditionl){
statement ( s);
} elseif( condi tion2){
other_statement ( s);
}

这是另外一个方式:
if (conditionl) {
statement(s);
}elseif { condi tion2) {
other_statement (s);
} else {
other_other_statement ( s) ;
}
必须永远让else位于条件语句的最后一部分, 因为只有到这里没有满足任何一个条件才会执行它(或者说, else代表了默认的行为)。但是, 也可以将elseif用作if条件中的一部分并且继续多次使用。

四、switch条件语旬

一且使用了更长的if-elseif-else条件, 就会发现使用switch条件能够节省时间, 并且能够让编码更加清晰。switch条件只带有一个可能的条件, 通常情况下就只有一个变量:
Switch ($var) {
case val uel:
statement(s)l;
break;
case val ue2:
statement(s)2;
break;
default:
statement(s)3;
break;
}

了解switch条件语句如何运行非常重要,这将决定你是否能够正确地使用它。在switch关
键词之后,用一对括号括住一个已定义的变量。PHP会按JI恒序查看每个case,尽力找到匹配的值。
注意,字符串和数值的使用方式遵循PHP规则,数值不需要加引号,字符串则需要用引号括起来。
在case value后面是个冒号(不是分号), 接下来是相关语句, 另起一行缩进。
一旦PHP发:ij\!.case同条件变量的值相匹配,它将继续执行后续语句。下面是需要重点关注的
地方: 一旦PHP找到匹配的case, 它将继续执行switch语句,直到]switch条件语句的末尾(关
闭的花括号)或者遇到break语句,直接在此处退出switch结构。因此, 使用break语句关闭每
个case非常重要,出于一致性考虑,默认的case也要关闭(参见框注“ Break 、Exit、Die和Continue”
中对这些关键字的详细讨论)。

前面的switch条件其实是下面代码的重写:
if ($var == valuel) {
statement (s) 1;
} elseif ( $variable == value2) {
statement(s)2;
} else {
statement(s)3;
}
因为switch条件使用$var的值作为它的条件,色首先检查$var的值是否等于valuel,如果是,那么执行statement(s)l ,如果不是,它将检查是否$var的{直等于value2,如果是,执行结果为statement(s)2。如果这些条件都不满足, switch条件的默认动作将执行statement(s)。

五、for循环

For循环是可以用循环来反复执行一个代码段。这里可能会希望多次打印某个特定的信息,或者希望打印出数组中的每个值。对于以上的这些情况, 以及更多可能的情况,可以使用循环来实现。
PHP提供3种循环: for 、while和foreach。While循环和for非常相似,但是在数据库中检索值或者读取文本文件 时使用得更加频繁。foreach同使用数组有关。
for循环用来以指定的次数反复执行特定的语句(与while不同, while会一直运行直到条件为FALSE,它们相似但是在概念上仍然有显著的区别) 。可以在循环中使用临时计数(dummy)变量以达到这个目的:
for (initial expression; condition; closing expression) {
statement ( s)
}
initial expression被执行了一次:在第一次调用循环的时候g 然后condition用来确定是否要执行statement。 这里有一个循环的简单示例, 它用来打印从1到10的数字:
for ($v = 1; $v <= 10; $v++) {
print $v;
}
六、while循环
3种循环中的第二种就是while循环, 只要是你定义的条件为TRUE, while就会继续执行. 同for循环一样, 它在每次迭代之前都会对条件进行栓查. 一旦条件交为FALSE,
while循环将会退出:
while (condition) {
statement (s);
}
for和while循环的主要区别是,while不包含初始条件, 也不执行关闭表达式,还可以使用do while循环作为选择, 它保证循环体中的语句将至少执行一次(这在while循环中并不是必要的):
do {
statement(s);
}while (condition);
虽然使用两种主要循环结构(while和for)有相当的重叠, 在编程时将发现有时一种比另外一种更合理. 在从数据库中检索数据时while循环用得更加频繁。

综上所述,if-else 、if-elseif和lif-elseif-else条件是基本条件语句,for 、while和foreach是3种循环,if和switch是两种常见的条件控制语句。

#现在前往

精选留言

PHP,控制,结构,条件
sample
2021-04-23
写留言
签到
投稿
QQ咨询
返回顶部