Fatal error: Function name must be a string with Anonymous function
Fatal error: Function name must be a string with Anonymous function
我发现自己遇到了一些问题。
我有两个匿名函数,一个调用另一个。
但是当函数$fCompleteDate
在函数$fFindAndCreateDate
中被调用时
我收到以下致命错误:
Function name must be a string.
稍后在脚本中调用函数 $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]);
}
};
我看到你使用匿名函数所以我更新了我的答案。
您需要像这样指定第二个函数使用第一个函数:
$fFindAndCreateDate = function($aStruct) use ($fCompleteDate) {
....
}
我发现自己遇到了一些问题。
我有两个匿名函数,一个调用另一个。
但是当函数$fCompleteDate
在函数$fFindAndCreateDate
中被调用时
我收到以下致命错误:
Function name must be a string.
稍后在脚本中调用函数 $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]);
}
};
我看到你使用匿名函数所以我更新了我的答案。
您需要像这样指定第二个函数使用第一个函数:
$fFindAndCreateDate = function($aStruct) use ($fCompleteDate) {
....
}