我发现自己有点问题。
我有两个匿名函数,一个调用另一个。
但是在函数$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]);
}
};
答案 0 :(得分:2)
我看到你使用匿名函数,所以我更新了我的答案。
您需要指定第二个函数使用第一个函数,如下所示:
$fFindAndCreateDate = function($aStruct) use ($fCompleteDate) {
....
}