致命错误:函数名称必须是包含匿名函数

时间:2016-10-19 09:12:31

标签: php fatal-error anonymous-function

我发现自己有点问题。 我有两个匿名函数,一个调用另一个。 但是在函数$fCompleteDate

中调用函数$fFindAndCreateDate

我得到致命的错误:

  

函数名必须是字符串。

稍后在脚本中调用函数$fFindAndCreateDate

我完全不知道问题是什么。

$fCompleteDate = function($sDate)
{
  $sDate = str_replace('/', '-', $sDate);
  return str_repeat('01-', max(0, 2 - substr_count($sDate, '-'))) . $sDate;
};

$fFindAndCreateDate = function($aStruct)
{
  $aDateStructNames = array('', 'Remark', 'Formatted', 'Extra');
  foreach($aDateStructNames as $sDateStructName)
  {
    echo $fCompleteDate('2001');
    echo  'a : '. $fCompleteDate($aStruct['startDate'.$sDateStructName]);
    echo  'b : '. $fCompleteDate($aStruct['endDate'.$sDateStructName]);
  }
};

1 个答案:

答案 0 :(得分:2)

我看到你使用匿名函数,所以我更新了我的答案。

您需要指定第二个函数使用第一个函数,如下所示:

$fFindAndCreateDate = function($aStruct) use ($fCompleteDate) {
 ....
}