日期:2011-03-08  浏览次数:20487 次

一个函数对于标量参数可以定义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.

默认值必须是一个常量表达式,不是一个变量或类成员.

注意当时用默认参数时,任何默认都应该在任何非默认参数右边;否则,事情将不会想你所想的那样.考虑下面的程序段:

function makeyogurt ($type = "acidophilus", $flavour) {

return "Making a bowl of $type $flavour.\n";

}

echo makeyogurt ("raspberry"); // 将不会按照预想工作

上面例子的输出是:

Warning: Missing argument 2 in call to makeyogurt() in

/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41

Making a bowl of raspberry .

现在,用下面的对比上面的:

function makeyogurt ($flavour, $type = "acidophilus"){

return "Making a bowl of $type $flavour.\n";

}

echo makeyogurt (“raspberry”);//正常工作

这个例子的输出是:

Making a bowl of acidophilus raspberry.