我有一个显示一个月中的几天并返回天数的代码。
但是我有问题
function getDays($annee = null, $mois, $jour){
if(empty($annee)){
$annee = date('Y');
}
$date = new DateTime('first '.$jour.' of '.$mois.' '.$annee);
$thisMonth = $date->format('m');
$ok = array();
while ($date->format('m') === $thisMonth) {
echo $date->format('d');
$date->modify('next '.$jour);
array_push($ok, $date->format('d'));
}
return $ok;
}
此行:echo $date->format('d');
有:01 08 15 22 29
但是当我:var_dump(getDays('2018','jan','mon'));
有:08 15 22 29 05
所以我想知道,这怎么给我两个不同的结果?
谢谢
答案 0 :(得分:0)
感谢@Devon
function getDays($annee = null, $mois, $jour){
if(empty($annee)){
$annee = date('Y');
}
$date = new DateTime('first '.$jour.' of '.$mois.' '.$annee);
$thisMonth = $date->format('m');
$ok = array();
while ($date->format('m') === $thisMonth) {
echo $date->format('d');
array_push($ok, $date->format('d'));
$date->modify('next '.$jour);
}
return $ok;
}
我将push_array行向上移动,并且有效!