2013-05-07 65 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

相關問題