创建重复整数数组-PHP

创建重复整数数组-PHP,php,arrays,loops,Php,Arrays,Loops,我只想用一个月的日期做一个数组。所以日期从1号开始,最多31号 我知道最明显的方式是手动方式: $date_array = array( '1', '2', '3', '4', '5', '6', '7', ..., '31' ); 但我正在寻找一种自动化的方法,比如一个简单的for循环,使我能够自动生成所需的日期: for($Idx=1;$Idx<32;$Idx++) { var_dump($Idx); } makeArray()-hah!:) 可能吗?使用: date(“t”)

我只想用一个月的日期做一个数组。所以日期从1号开始,最多31号

我知道最明显的方式是手动方式:

$date_array = array( '1', '2', '3', '4', '5', '6', '7', ..., '31' );
但我正在寻找一种自动化的方法,比如一个简单的
for循环
,使我能够自动生成所需的日期:

for($Idx=1;$Idx<32;$Idx++) {
  var_dump($Idx);
}
makeArray()-hah!:)

可能吗?使用:

date(“t”)
将返回给定月份的天数

function makeArray() {
    $months = array(31,28,31,30,31,30,31,31,30,31,30,31);
    $array = array();
    foreach($months as $month) {
        $array = array_merge($array, range(1, $month));
    }
    return $array;
}
此函数考虑到每个月有不同的天数。不过要注意闰年

如果你今年需要这个,用这个。它为你照顾闰年

function makeArray() {
    $array = array();
    for($month = 0; $month < 12; $month++) {
        $array = array_merge($array, range(1, date("t", mktime(0, 0, 0, $month, 1)));
    }
    return $array;
}
函数makeArray(){
$array=array();
对于($month=0;$month<12;$month++){
$array=array_merge($array,range(1,date(“t”),mktime(0,0,0,$month,1));
}
返回$array;
}
使用以下方法:

function makeArray ($calendar, $month, $year) { 
   return range (1, cal_days_in_month ($calendar, $month, $year));
}
范例

参考资料

  • 数组范围(混合$start,混合$end[,数字$step=1])
  • int-calu-days(int$calendar,int$month,int$year)

谢谢。这就是答案。@mayenenulislam检查我的答案。+1看起来像是经过测试且准备充分的示例:)+1,完全按照预期工作。编辑答案:在不返回的情况下,函数生成NULL。请记住,第一个值将与键0
数组(0=>1,1=>2,…30=>31)一起使用
function makeArray() {
    $months = array(31,28,31,30,31,30,31,31,30,31,30,31);
    $array = array();
    foreach($months as $month) {
        $array = array_merge($array, range(1, $month));
    }
    return $array;
}
function makeArray() {
    $array = array();
    for($month = 0; $month < 12; $month++) {
        $array = array_merge($array, range(1, date("t", mktime(0, 0, 0, $month, 1)));
    }
    return $array;
}
function makeArray ($calendar, $month, $year) { 
   return range (1, cal_days_in_month ($calendar, $month, $year));
}
$aMyArray = makeArray (CAL_GREGORIAN, 8, 2003);