需要帮助完成PHP函数-返回日期数组
我需要为我正在处理的项目创建一个函数: 给定3个变量:需要帮助完成PHP函数-返回日期数组,php,Php,我需要为我正在处理的项目创建一个函数: 给定3个变量: 开始日期 数日 #返回日期 返回日期 即/ 应返回: $dates[] = [[03-01-2011],[05-01-2011],[07-01-2011],[10-01-2011],[12-01-2011],[14-01-2011],[17-01-2011],[19-01-2011],[21-01-2011]] 如何以最简单的方式实现这一点$start\u date=“01-01-2011”; $start_date = "01-01-2
$dates[] = [[03-01-2011],[05-01-2011],[07-01-2011],[10-01-2011],[12-01-2011],[14-01-2011],[17-01-2011],[19-01-2011],[21-01-2011]]
如何以最简单的方式实现这一点$start\u date=“01-01-2011”;
$start_date = "01-01-2011";
$days = array('Monday', 'Wednesday', 'Friday');
$number_dates = 9;
$result = getDates($start_date, $days, $number_dates);
echo "<pre>";echo var_dump($result);echo "</pre>";
function getDates($start_date, $days, $number_dates) {
$result = array();
$startTime = mktime(0,0,0, (int)substr($start_date,4,2), (int)substr($start_date,0,2), (int)substr($start_date,6,4));
if (count($days) > 0) {
$n = 1;
$t = $startTime;
while ($n <= $number_dates) {
$t += 24 * 3600;
if (in_array(date('l', $t), $days)) {
$result[] = date('d-m-Y', $t);
$n++;
}
}
}
return $result;
}
$days=数组('星期一'、'星期三'、'星期五');
$number_dates=9;
$result=getDates($start\u date,$days,$number\u dates);
回声“;echo var_dump($result);回声“;
函数getDates($start\u date、$days、$number\u dates){
$result=array();
$startTime=mktime(0,0,0,(int)substr($start_date,4,2),(int)substr($start_date,0,2),(int)substr($start_date,6,4));
如果(计数($days)>0){
$n=1;
$t=$startTime;
而($n)
字符串(10)“03-01-2011”
[1]=>
字符串(10)“05-01-2011”
[2]=>
字符串(10)“07-01-2011”
[3]=>
字符串(10)“10-01-2011”
[4]=>
字符串(10)“12-01-2011”
[5]=>
字符串(10)“14-01-2011”
[6]=>
字符串(10)“17-01-2011”
[7]=>
字符串(10)“19-01-2011”
[8]=>
字符串(10)“21-01-2011”
}
完美-完全符合要求!!谢谢:)
$start_date = "01-01-2011";
$days = array('Monday', 'Wednesday', 'Friday');
$number_dates = 9;
$result = getDates($start_date, $days, $number_dates);
echo "<pre>";echo var_dump($result);echo "</pre>";
function getDates($start_date, $days, $number_dates) {
$result = array();
$startTime = mktime(0,0,0, (int)substr($start_date,4,2), (int)substr($start_date,0,2), (int)substr($start_date,6,4));
if (count($days) > 0) {
$n = 1;
$t = $startTime;
while ($n <= $number_dates) {
$t += 24 * 3600;
if (in_array(date('l', $t), $days)) {
$result[] = date('d-m-Y', $t);
$n++;
}
}
}
return $result;
}
<pre>array(9) {
[0]=>
string(10) "03-01-2011"
[1]=>
string(10) "05-01-2011"
[2]=>
string(10) "07-01-2011"
[3]=>
string(10) "10-01-2011"
[4]=>
string(10) "12-01-2011"
[5]=>
string(10) "14-01-2011"
[6]=>
string(10) "17-01-2011"
[7]=>
string(10) "19-01-2011"
[8]=>
string(10) "21-01-2011"
}
</pre>