當我想郵寄我的用戶來通知他們某些事件時,我會在PHP中調用mail()函數。我想爲郵件函數提供第五個參數,但由於在safe_mode中這是禁用的,所以當給出這個參數時,mail()函數將返回false。我的問題基本上是:如何在PHP中滿足條件時提供參數?
我怎麼可以這樣寫一段代碼:
if (!$bSafeMode) {
mail($sTo, $sSubject, $sBody, $sHeader, $sFifthArgument);
} else {
mail($sTo, $sSubject, $sBody, $sHeader);
}
但在這樣的方法:
mail($sTo, $sSubject, $sBody, $sHeader, (!$bSafeMode? $sFifthArgument : ''));
顯然,這種代碼我給你不工作,但我想知道是否有類似的東西,這樣我可以保持我的代碼更整潔。
請不要與我爭論,爲什麼我要這樣做,爲什麼我想檢查safe_mode和東西。我只是這樣做,我只想知道我想要什麼是可能的,以及我會如何去做。
在此先感謝!
更好,我會認爲你的代碼的第一塊看起來就好了。 – NullUserException
你的第二個例子看起來很好,除了你通常會傳遞'NULL'而不是缺少參數的''''空字符串。另一個解決方法選項是'call_user_func_array',但並不真正具有「整理者」的資格。 – mario
如果你不想要可能幫助我們理解目標的論據,那麼可能像SO這樣的公共格式不適合你?我沒有看到第一種和第二種形式之間的區別,只是第二種不起作用。第一個「if」的重要組成部分是什麼,所以我們可以和你一起思考? – Nanne