通常,你希望根据条件执行多于一条语句。当然,不需要给每条语句都加上 if 判断。取而代之,可以把多条语句组成一个语句组。 if语句可以嵌套于其他 if语句中,使你能够灵活地有条件的执行程序的各个部分。
2、 else语句
通常你希望满足特定条件时执行一条语句,不满足条件是执行另一条语句。else就是用来做这个的。else 扩展if语句,在if语句表达式为false时执行另一条语句。例如, 下面程序执行如果 $a 大于 $b则显示 /'a is bigger than b/',否则显示 /'a is not bigger than b/':
if ($a>$b) { print /"a is bigger than b/"; } else { print /"a is not bigger than b/"; }
3、 elseif语句
elseif,就象名字所示,是if和else的组合,类似于 else,它扩展 if 语句在if表达式为 false时执行其他的语句。但与else不同,它只在elseif表达式也为true时执行其他语句。
function foo( &$bar ) { $bar .= /' and something extra./'; } $str = /'this is a string, /'; foo( $str ); echo $str; // outputs /'this is a string, and something extra./'
function foo( $bar ) { $bar .= /' and something extra./'; } $str = /'this is a string, /'; foo( $str ); echo $str; // outputs /'this is a string, /' foo( &$str ); echo $str; // outputs /'this is a string, and something extra./'
4、 默认值
函数可以定义 c++ 风格的默认值,如下:
function makecoffee( $type = /"cappucino/" ) { echo /"making a cup of $type.//n/"; } echo makecoffee(); echo makecoffee( /"espresso/" );
上边这段代码的输出是:
making a cup of cappucino. making a cup of espresso. 注意,当使用默认参数时,所有有默认值的参数应在无默认值的参数的后边定义;否则,将不会按所想的那样工作。
5、class(类)
类是一系列变量和函数的集合。类用以下语法定义:
<?php class cart { var $items; // items in our shopping cart // add $num articles of $artnr to the cart function add_item($artnr, $num) { $this->items[$artnr] += $num; } // take $num articles of $artnr out of the cart function remove_item($artnr, $num) { if ($this->items[$artnr] > $num) { $this->items[$artnr] -= $num; return true; } else { return false; } } } ?>
$ncart = new named_cart; // create a named cart $ncart->set_owner(/"kris/"); // name that cart print $ncart->owner; // print the cart owners name $ncart->add_item(/"10/", 1); // (inherited functionality from cart)
class constructor_cart { function constructor_cart($item = /"10/", $num = 1) { $this->add_item($item, $num); } } // shop the same old boring stuff. $default_cart = new constructor_cart; // shop for real... $different_cart = new constructor_cart(/"20/", 17);