技术开发 频道

PHP开发经典教程(Part 3):循环

 

深入了解

    如果你一直用心学习,你会记得在第二章(http://tech.it168.com/o/2007-08-22/200708221043562.shtml,《PHP开发经典教程(Part 2): 操作符调用》)中,我曾给你上过PHP基本控制结构及操作符的快速速成课。我也向你展示了PHP如何用于处理输入Web表单中的数据。在本部分的教程中,我将深入讲解PHP操作符及控制结构,向你展示两个新的操作符,一种对条件语句if-else()系列结构的替代方法,以及PHP一些更为有趣的循环结构。因此请接着读下去,接下来的内容将会更加有趣!

在不同的情况之间切换 

    对控制结构的if-else()系列结构的一种替代方法是PHP的switch-case()语句,该switch-case()语句几乎可与if-else()控制结构做同样的事。其结构看起来如下面所示:

switch (decision-variable) { case first condition is true: do this! case second condition is true: do this! ... and so on... }
    根据决策变量的值而执行适当的case()块。 

    可建立缺省块以处理那些在决策变量的值与所列的case()条件中的任何一个都不相匹配的情况。 

    我将通过使用switch()语句来重新编写我以前写的例子之一,使得这概念变得稍微清楚一些:
<html> <head></head> <body> <?php // get form selection $day = $_GET['day']; // check value and select appropriate item switch ($day) { case 1: $special = 'Chicken in oyster sauce'; break; case 2: $special = 'French onion soup'; break; case 3: $special = 'Pork chops with mashed potatoes and green salad'; break; default: $special = 'Fish and chips'; break; } ?> <h2>Today's special is:</h2> <?php echo $special ?> </body> </html>
    此处有几个重要的关键字:Break关键字用于跳出switch()语句块且立即移动至switch()语句块后的代码行。缺省关键字用于在传递至switch()的变量不满足列在该块内的任何条件时来执行缺省的语句组。 

    在这儿,新手通常所犯的错误是忘记在每一case()块末端的中断语句。请记住,如果你忘记跳出case()块,那么PHP将继续执行其所遇到的所有后继case()块中的代码。
更多关于switch()语句的信息,请参看http://www.php.net/manual/en/control-structures.switch.php.
0
相关文章