1

我想让我的生活更轻松,避免将一些预设变量传递给 PHP 中的函数。

例如,这有效:

function test1($var2,$var3,$var1=1){
    return '$var1='.$var1.'+$var2='.$var2.'+$var3'.$var3;
}
echo test1($var2=2,$var3=3);
#$var1=1+$var2=2+$var33

但这没有(没有警告):

function test($var1=1,$var2,$var3){
    return '$var1='.$var1.'+$var2='.$var2.'+$var3'.$var3;
}
echo test($var2=2,$var3=3);
#Warning: Missing argument 3 for test(), called in /var/www/atpc.info/f/f/m/t.php on line 6 and defined in /var/www/atpc.info/f/f/m/t.php on line 3
#Notice: Undefined variable: var3 in /var/www/atpc.info/f/f/m/t.php on line 4 
#$var1=2+$var2=3+$var3

也许实现这一点的唯一方法是始终将预设变量放在行尾。是吗?

谢谢你的光。

4

4 回答 4

2

哦...这不是您在 PHP 中传递变量的方式...。

发送变量:

function test($var1=1,$var2=1,$var3=1){ //default 1, 1, 1
    return '$var1='.$var1.'+$var2='.$var2.'+$var3'.$var3;
}
echo test(2,3); //only sent for var1 and 2
echo test(null, 2, 3); //only sent for var2 and 3    
echo test(); //default for all
于 2012-05-22T17:04:48.283 回答
1

默认值需要位于任何非默认值之后,如PHP.net 函数参数页面上的示例 5 所示。

于 2012-05-22T17:05:46.150 回答
0

尝试检查variable function arguments in PHP

于 2012-05-22T17:05:17.877 回答
0

你可能会让你的生活更轻松,但它可能会导致草率的代码,在某些时候你应该传递一个参数并且你忘记了,但代码没有抛出任何错误。这是我的看法。

于 2012-05-22T17:07:02.377 回答