默认值_PHP
程序员文章站
2022-04-11 12:59:29
...
一个函数对于标量参数可以定义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.
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.