PHP 基础教程

PHP 表单

PHP 高级教程

PHP 7 新特性

PHP 数据库

PHP XML

PHP 与 AJAX

PHP 参考手册

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/php-control-structures.html

PHP 控制结构


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

if 条件语句

编程基本的条件语句是标准的 if(也曾被称作为 if-then 条件语句,现在 then 被默认而不提出)。这种条件语句的语法非常简单:

if (condition) { 
      statement(s);
}

该条件必须同圆括号一同使用,并且语句部分要被放置在花括号中,这些是需要执行的命令(例如,打印字符串或者将两数相加)。每句单独的语句(或者命令)都必须拥有自己的分号以示本行的结束,但是对于和一个条件相关联的语句数量并没有限制。

在 if 条件语句之后要介绍的下一个逻辑形式是 if-else 条件语句。它可以用来构建这样的条件:当条件满足时执行一组语句,而条件不满足时执行另外的语句:

if (condition) { 
      statement(s);
} else {
      other_statement(s);
}

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

if (condition1) { 
      statement(s);
} elseif (condition2) { 
      other_statement(s);
}

关于 PHP if 条件语句的详细文章可以参考 PHP if else 语句

switch 条件语句

一旦使用了更长的 if-elseif-else 条件,就会发现使用 switch 条件能够节省时间,并且能够让编码更加清晰。switch 条件只带有一个可能的条件,通常情况下就只有一个变量:

switch ($var) {
    case value1:
         statement(s)1;
         break;
    case value2:
         statement(s)2;
         break;
    default:
         statement(s)3; 
         break;
}

了解 switch 条件语句如何运行非常重要,这将决定你是否能够正确地使用它。在 switch 关键词之后,用一对括号括住一个已定义的变量。PHP 会按顺序查看每个 case,尽力找到匹配的值。注意,字符串和数值的使用方式遵循 PHP 规则,数值不需要加引号,字符串则需要用引号括起来。在 case value 后面是个冒号(不是分号),接下来是相关语句,另起一行缩进。

关于 PHP switch 条件语句的详细文章可以参考 PHP switch 语句

for 循环

PHP 提供 3 种循环:for、while 和 foreach。while 循环同 for 非常相似,但是在数据库中检索值或者读取文本文件时使用得更加频繁。foreach 同使用数组有关。

for 循环用来以指定的次数反复执行特定的语句(与 while 不同,while 会一直运行直到条件为 FALSE,它们相似但是在概念上仍然有显著的区别)。可以在循环中使用临时计数(dummy)变量以达到这个目的:

for (initial expression; condition; closing expression) {
     statement(s);
}

initial expression 被执行了一次:在第一次调用循环的时候;然后 condition 用来确定是否要执行 statement。每当 condition 为 TRUE,并且 statement 执行完之后,会执行 closing expression。

这里有一个循环的简单示例,它用来打印从 1 到 10 的数字:

for ($v = 1; $v <= 10; $v++) {
     print $v;
}

关于 PHP for 循环语句的详细文章可以参考 PHP for 循环语句

while 循环语句

在 PHP 中 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 循环用得更加频繁。

关于 PHP while 循环语句的详细文章可以参考 PHP while 循环语句