我在以下代码中遇到语法错误:
function getFridays($year='', $format='', $timezone = 'UTC') {
$fridays = array();
$startDate = new DateTime("{$year}-01-01 Friday", new DateTimezone($timezone));
$year++;
$endDate = new DateTime("{$year}-01-01", new DateTimezone($timezone));
$int = new DateInterval('P7D');
foreach (new DatePeriod($startDate, $int, $endDate) as $d) {
$fridays[] = $d->format($format);
}
return $fridays;
}
$fridays = getFridays($year, 'Y-m-d', 'America/New_York');
错误:意外'$ fridays'(T_VARIABLE),期待功能(T_FUNCTION)
答案 0 :(得分:0)
问题在于这一行
$fridays = getFridays($year, 'Y-m-d', 'America/New_York');
你不能把它放在函数之外并调用另一个函数。如果你想调用它,你必须把它放在另一个函数中。在for循环之外返回后,尝试var_dump
$friday
。
var_dump($friday);
exit;
你可以看到你的阵列。
答案 1 :(得分:0)
提供的代码工作正常直接复制到沙箱中,因为缺少所有类的东西。没有它,它将工作正常。所以,你在一个方法中声明变量,但是试图将它设置在方法之外,这是不行的。