如何在php函数中将当前年份作为默认参数传递


how to pass current year as default argument in php function

我想将当前年份作为函数的默认值之一传递

我正在使用

date("Y")

本年度

所以当我用这种方式写函数时,它工作得很好:

function MYfUNCTION($month,$year = 2013)
{
}

但我想通过今年而不是2013年但当我像这样写时,它给了我一个错误

function MYfUNCTION($month,$year = date("Y"))
{
}

请帮助我

不能将函数用于默认参数值:

默认值必须是常量表达式,而不是(例如)变量、类成员或函数调用。

(PHP文档摘录)

您应该在函数中设置默认值:

function myFunction($month, $year = null) 
{    
  if(!(bool)$year) {
    $year = date('Y');
  }
  echo $year.', '.$month;
}
myFunction('June', '2006'); // 2006, June
myFunction(3, 2010);        // 2010, 3
myFunction('July');         // 2013, July

你可以试试这个,

function MYfUNCTION($month,$year ="")
{
   if(empty($year)){
      $year = date($year); //Output: current year
   } 
   echo "Year: " . $year ." Month: " . $month;
}

没有直接的方法可以直接以预定义的格式传递参数,你必须传递函数,输入你想要的年份,你可以再生成一个函数,在其中你可以更改年份。像php中的get curr year函数!!希望这能有所帮助。