php 节日,PHP节假日

,我发现在网络上一些随机代码,并使用它为我的日历试过,但我不断收到此错误:PHP节假日

Notice: Undefined variable: nextHoliday

这个错误是指代码底“返回$ nextHoliday;“

我相信nextHoliday定义寿所以我尝试了一些东西,但没有使它的工作..可有人请帮忙吗?

下面的代码:

FUNCTION GetTimeStamp($MySqlDate)

{

$date_array = EXPLODE("-",$MySqlDate); // split the array

$var_year = $date_array[0];

$var_month = $date_array[1];

$var_day = $date_array[2];

$var_timestamp = MKTIME(0,0,0,$var_month,$var_day,$var_year);

RETURN($var_timestamp); // return it to the user

} // End function GetTimeStamp()

FUNCTION ordinalDay($ord, $day, $month, $year)

// ordinalDay returns date of the $ord $day of $month.

// For example ordinalDay(3, 'Sun', 5, 2001) returns the

// date of the 3rd Sunday of May (ie. Mother's Day).

//

// Note: $day must be the 3 char abbr. for the day, as

// given by date("D");

//

{

$firstOfMonth = GetTimeStamp("$year-$month-01");

$lastOfMonth = $firstOfMonth + DATE("t", $firstOfMonth) * 86400;

$dayOccurs = 0;

FOR ($i = $firstOfMonth; $i < $lastOfMonth ; $i += 86400)

{

IF (DATE("D", $i) == $day)

{

$dayOccurs++;

IF ($dayOccurs == $ord)

{ $ordDay = $i; }

}

}

RETURN $ordDay;

} // End function ordinalDay()

FUNCTION getNextHoliday()

// Looks through a lists of defined holidays and tells you which

// one is coming up next.

//

{

$year = DATE("Y");

CLASS holiday

{

VAR $name;

VAR $date;

VAR $catNum;

FUNCTION holiday($name, $date, $catNum)

// Contructor to define the details of each holiday as it is created.

{

$this->name = $name; // Official name of holiday

$this->date = $date; // UNIX timestamp of date

$this->catNum = $catNum; // category, we used for databases access

}

} // end class holiday

$holidays[] = NEW holiday("Groundhog Day", GetTimeStamp("$year-2-2"), "20");

$holidays[] = NEW holiday("Valentine's Day", GetTimeStamp("$year-2-14"), "14");

$holidays[] = NEW holiday("St. Patrick's Day", GetTimeStamp("$year-3-17"), "15");

$holidays[] = NEW holiday("Easter", EASTER_DATE($year), "16");

$holidays[] = NEW holiday("Mother's Day", ordinalDay(2, 'Sun', 5, $year), "3");

$holidays[] = NEW holiday("Father's Day", ordinalDay(3, 'Sun', 6, $year), "4");

$holidays[] = NEW holiday("Independence Day", GetTimeStamp("$year-7-4"), "17");

$holidays[] = NEW holiday("Christmas", GetTimeStamp("$year-12-25"), "13");

$numHolidays = COUNT($holidays);

FOR ($i = 0; $i < $numHolidays; $i++)

{

IF (DATE("z") > DATE("z", $holidays[$i]->date) && DATE("z") <= DATE("z",

$holidays[$i+1]->date))

{

$nextHoliday["name"] = $holidays[$i+1]->name;

$nextHoliday["dateStamp"] = $holidays[$i+1]->date;

$nextHoliday["dateText"] = DATE("F j, Y", $nextHoliday["dateStamp"]);

$nextHoliday["num"] = $holidays[$i+1]->catNum;

}

}

RETURN $nextHoliday;

} // end function GetNextHoliday

$nextHoliday = getNextHoliday();

ECHO $nextHoliday["name"]." (".$nextHoliday["dateText"].")";

+2

谁写的代码有一个很好的货物崇拜编程的案例和迷恋过度使用'shift'和/或'caps-lock'键...... –

+0

也许开始下一个假期首先在'if'作为'$ nextHoliday = array();' –

+0

我曾尝试过,并得到了错误..注意:未定义偏移量:8 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值