Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP检查假日并添加交付日期_Php_Date_Foreach - Fatal编程技术网

PHP检查假日并添加交付日期

PHP检查假日并添加交付日期,php,date,foreach,Php,Date,Foreach,我想做一个脚本,将检查未来几天的假期,并在此基础上,它将增加天的交货日期。所以 $holidays2014 = array('01.01','21.01','01.05','08.05','05.07','06.07','28.09','28.10','17.11','24.12','25.12','26.12'); $day1 = date("d.m"); $day2 = date("d.m", time() + 86400); $day3 = date("d.m", time() + 17

我想做一个脚本,将检查未来几天的假期,并在此基础上,它将增加天的交货日期。所以

$holidays2014 = array('01.01','21.01','01.05','08.05','05.07','06.07','28.09','28.10','17.11','24.12','25.12','26.12');

$day1 = date("d.m");
$day2 = date("d.m", time() + 86400);
$day3 = date("d.m", time() + 172800);
$day4 = date("d.m", time() + 259200);
$day5 = date("d.m", time() + 345600);

foreach($holidays as $hol)
{

}

我的国家有一个假日阵列,我和foreach一起循环,检查未来的日子是否是假日,但我不寻找完整的解决方案,我想知道这是个好主意还是我做错了?创造条件不是问题,但时间长而且不好

作为数组循环不是一个好主意,但正如@Dainis Abols所建议的那样

您可以将假日日期保存为数据库中的表

然后,您可以将要查找天数的两个日期作为

 $day1 = date("Y-m-d");
 $day2 = date('Y-m-d', strtotime('+6 month'));
然后您可以得到这两个日期之间的假期天数,如下所示

$sql = "SELECT count(dates) as noDays FROM holidaystable WHERE dates BETWEEN '".$day1."' AND '".$day2."'";


$exe = mysql_query($sql);

$res = mysql_fetch_array($exe);



$noOfDaysHolidays = $res['noDays'];

echo $noOfDaysHolidays;

将日期存储在数据库中,然后在显示交货日期时,检查正常交货时间之间有多少节假日,并将更改添加到结束日期。这不是我想要的,但它对我有帮助,所以thx;)