【发布时间】:2013-12-19 07:02:24
【问题描述】:
好的,很抱歉这篇文章的措辞让我很头疼,我需要找到最早的交货日期,
$useStartDate = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
我有两个功能
第一个检查日期是周末还是星期一并相应地递增
function checkWeekend ($CheckDateDate){
if (date("w", $CheckDateDate) == 1) { //monday
return strtotime('+1 day', $CheckDateDate);
}
else if (date("w", $CheckDateDate) == 0) { //sunday
return strtotime('+2 day', $CheckDateDate);
}
else if (date("w", $CheckDateDate) == 6) { //saturday
return strtotime('+3 day', $CheckDateDate);
}
else {
return 0;
}
}
第二次检查日期是否在我的假期数据库中
function checkHoliday ($CheckDateDate) {
$result = mysql_query("SELECT * FROM tblNonDeliveryDates Where NonDeliveryDate = '$CheckDateDate'");
if (mysql_num_rows($result) > 0) {
return strtotime('+1 day', $CheckDateDate);
}
else {
return 0;
}
}
现在我想做的是检查这两个函数,直到它们都返回 0,我无法返回并检查日期不是周末,因为它是假期。这就是我所拥有的,但我知道这是错误的。
$CheckDate = $useStartDate;
while ($Checkdate > 0)
{
$LastChecked = $CheckDate;
$Checkdate = checkWeekend($CheckDate);
$Checkdate = checkHoliday($CheckDate);
}
echo $LastChecked;
希望这很清楚。
【问题讨论】:
-
return = 0;?这是您实际代码中的错字吗? -
您正在“$Checkdate”(小写 d)上运行您的检查函数,但您在 while 循环的顶部使用大写 D 定义了“$CheckDate”。这些只是拼写错误,以及'return = 0'吗?
-
是的,抱歉路人 @aztechy 这些是拼写错误,我稍微简化了代码并错过了这些。
标签: php function loops while-loop