循环
另一个非常常见的控制构造是循环。PHP 和 .NET 都支持若干不同的常见循环类型。
表 7:For 循环
| PHP | Visual Basic .NET |
|---|---|
for ($i = 1; $i <= 100; $i ) {
|
Dim sum As Integer = 0
|
在 Visual Basic 中,这种循环类型被称为 For...Next 循环,而在 PHP 中则称为 For 循环。在此示例中,我们使用了 = 运算符作为在 PHP 中,可以使用 sum = sum counter 的简写方式。 Break; 语句来中断循环。而 For...Next 循环可以通过 Exit For 语句中断。
条件循环
只要某个条件计算为 true,条件循环便会持续重复一组指令。表 8 显示了这两种语言中的基本条件循环示例。
表 8:条件循环
| PHP | Visual Basic .NET |
|---|---|
$i = 1;
|
Dim counter i As Integer = 1
|
在 Visual Basic 中,这种循环类型称为 Do...Loop 语句,或 while 循环。PHP 也支持 Do...While 循环,该循环与 while 循环非常类似,不同之处在于它是在每个循环的结尾而不是开始检查真假表达式。 Do...While 循环与常规 while 循环的主要差别是前者会确保运行第一个循环(因为只在该循环的结尾检查真假表达式),而常规的 while 循环则不一定运行。(因为它在每个循环的开始检查真假表达式,如果它一开始便计算为 FALSE,该循环将立即结束执行。)
下面给出了一个 PHP 中这种情况的示例:
$i = 0;
do {
print $i;
}
while ($i>0);
此循环只运行一次,因为在第一次循环后检查真假表达式时,表达式计算为 FALSE($i 不大于 0),所以循环将停止执行。
在 Visual Basic .NET 中,您可以执行同样的操作:
Dim counter i As Integer = 0 Do response.write (i)counter Loop While counter i > 0
但是,Visual Basic .NET 支持内置的循环功能,这是 PHP 所不支持的。该功能将对条件进行计算,直到条件为真时为止。
Foreach 循环
PHP 4(而非 PHP 3)包含一个 foreach 构造,它与 ASP.NET 以及某些其他语言中的构造非常类似。它只是为循环数组提供了一个简单的途径。foreach 只适用于数组,如果试图将其用于其他数据类型的变量或未初始化的变量,则会导致错误。Visual Basic .NET 中与此等价的循环是 For Each...Next 语句。表 9 显示了在这两种语言中循环数组的示例。
表 9:Foreach 循环




