在PHP函数中使用函数结果作为默认参数

我正在写一个函数,它需要一些日期单位,如“小时”,“分钟”和“秒”,但我想做出这些选择,并将服务器的当前时间用作默认值。

在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解释器的值。

因此您不能直接使用函数结果作为默认参数

因此,唯一的方法就是你已经知道的空默认参数方法。

链接地址: http://www.djcxy.com/p/69699.html

上一篇: Using function result as a default argument in PHP function

下一篇: Can I use a function to return a default param in php?