2013-05-07 75 views
-3

是否有可能在PHP中设置一个预定义的函数参数作为另一个函数的结果?将函数输出分配给函数参数?

function f1() { return rand().'entropy'; } 

      ##### 
       ### 
       # 
function f2($a=f1(), $b=Null) { 
    if($a==Null) $a='default'; 
    return $a.$b; 
} 
+1

...你有没有试过看? – andrewsi 2013-05-07 17:27:27

+0

是的。它什么都不做。 – Firebowl2000 2013-05-07 17:50:34

+0

甚至没有关于意外的错误消息('?' – andrewsi 2013-05-07 17:51:54

回答

1

。 。您不能直接分配给它,但你可以“效仿”它,你与“默认”字符串做同样的方式:

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将永远不会被执行。我只是跟着你的代码示例,据我了解,这只是一个例子,你如何使用函数的返回值作为默认值,好吗?

+1

作为一个经验法则:**默认值必须是常量表达式,而不是(例如)变量,类成员或函数调用。** - [PHP手册](http://www.php.net/manual/en/functions.arguments.php ) – Lukas 2013-05-07 17:34:25

+0

感谢Diego的澄清,我猜PHP不是Python;] – Firebowl2000 2013-05-07 17:49:53