是否有可能在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