簡體   English   中英

使用函數結果作為PHP函數中的默認參數

[英]Using function result as a default argument in PHP function

我正在編寫一個需要一些日期單位的函數,比如“小時”,“分鍾”和“秒”,但我想制作這些選項,服務器的當前時間用作默認值。

在PHP的mktime(..)我注意到它們使用函數調用來獲取默認參數值 - 但是當我嘗試這個時,它不起作用:

PHP看起來像這樣: mktime([int $hour = date("H")[,int $minute= date("i")[,etc...

而且我試圖將它復制到我的函數中,完全相同(只是沒有那么多參數,直到我得到它的工作): function myFunc([int $hour = date("H")[,int $minute= date("i")]]) {

使用此代碼,PHP告訴我Parse error: syntax error, unexpected '[', expecting '&' or T_VARIABLE in ...

我試過搜索這個 - 但設法找不到這個主題。 我的問題是,這可能是我做的,或者我將不得不指定null作為參數,然后在函數內檢查它們,如下所示:

function myFunc($hour=null,etc...) {
  if($hour==null){$hour=date("H");}
  //etc...
}

至於為什么我想知道這個,除了使用我自己提供的解決方案之外 - 我還在學習PHP,並希望學習最佳實踐。

默認函數參數應該是編譯時常量。 或者在PHP的情況下,在執行腳本之前,PHP解釋器應該知道該值。

因此,您無法直接將函數結果用作默認參數

因此,唯一的方法是您已經知道的null默認參數方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM