是否有可能在PHP中设置一个预定义的函数参数作为另一个函数的结果?将函数输出分配给函数参数?
function f1() { return rand().'entropy'; }
#####
###
#
function f2($a=f1(), $b=Null) {
if($a==Null) $a='default';
return $a.$b;
}
是否有可能在PHP中设置一个预定义的函数参数作为另一个函数的结果?将函数输出分配给函数参数?
function f1() { return rand().'entropy'; }
#####
###
#
function f2($a=f1(), $b=Null) {
if($a==Null) $a='default';
return $a.$b;
}
。 。您不能直接分配给它,但你可以“效仿”它,你与“默认”字符串做同样的方式:
function f1() { return rand().'entropy'; }
function f2($a = Null, $b=Null) {
if ($a == Null) { $a = f1(); }
if ($a == Null) { $a = 'default'; }
return $a . $b;
}
。 。看到f1()
总是返回一个字符串,我的代码中的第二个if
将永远不会被执行。我只是跟着你的代码示例,据我了解,这只是一个例子,你如何使用函数的返回值作为默认值,好吗?
作为一个经验法则:**默认值必须是常量表达式,而不是(例如)变量,类成员或函数调用。** - [PHP手册](http://www.php.net/manual/en/functions.arguments.php ) – Lukas 2013-05-07 17:34:25
感谢Diego的澄清,我猜PHP不是Python;] – Firebowl2000 2013-05-07 17:49:53
...你有没有试过看? – andrewsi 2013-05-07 17:27:27
是的。它什么都不做。 – Firebowl2000 2013-05-07 17:50:34
甚至没有关于意外的错误消息('?' – andrewsi 2013-05-07 17:51:54