Ch04: 流程控制语句
4.1 条件控制语句
(1)
if (expr)
{
statement1;
statement2;
}
(2)
if (expr)
{
statement1;
}
else
{
statement2;
}
(3)
if (expr1)
{
statement1;
}else if (expr2)
{
statement2;
}...
...
}else
{
statementN;
}
(4)
switch (var)
{
case value1:
statement1;
break;
case value2:
statement2;
break;
...
default:
statementN;
}
注意:
如果执行语句不只一条,请在执行语句前后加上"{}"号,因为控制语句的范围只能控制跟随其后的第一条语句
在switch语句中,遇到合乎要求的case语句段时,程序也会继续往下一个case执行。直到switch语句结束。
这并不是我们所想要的,所以一定要在每个case语句段后加上break语句,以便执行完当前case语句后可以跳出来。
PHP还提供了另一种书写格式:用":"号代替左边的大括号"{"; 使用endif; endwhile; endfor; endforeach;和endswitch; 来代替右边的大括号"}"
4.2 循环控制语句
(1)
while (expr)
{
statements;
}
(2)
do
{
statements;
}while (expr)
(3)
for (expr1; expr2; expr3)
{
statements;
}
(4)
foreach (array_expr as $value)
{
statements;
}
或:
foreach (array_expr as $key => $value)
{
statements;
}
注意:
(1)foreach是PHP4引进来的,只能用于数组。在PHP5中,又增加了对对象的支持。
foreach语句将遍历数组array_expr, 每次循环时,将当前数组中的值赋给$value(或是$key和$value),同时数组指针向后移动直到遍历结束。 所以当使用foreach语句时,数组指针将自动被重置,不需要手动设置指针位置。
(2)当使用foreach语句用于其他数据类型或者未初始化的变量时会产生错误。 为了避免这个问题,最好使用is_array()函数先来判断变量是否为数组类型,如果是,再进行接下来的操作。
(3)跳出循环关键字:break 和 continue
break跳出本层循环;continue跳出本次循环而进入到下一次循环。
在PHP中,break 还可以跳出多重循环,用法:break $num