通常,你希望根據條件執行多於一條語句。當然,不需要給每條語句都加上 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(類)
類是一系列變數和函數的集合。類用以下文法定義:
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);