在财政年度(财政年度)之间循环

时间:2018-04-21 09:20:28

标签: php for-loop

我希望循环显示给定2个财政年度之间的所有年份。
如果给定的年份是:2006-072010-11,我希望显示所有这些年来在这些年和那两年之间也是如此。
预期产出:2006-07, 2007-08, 2008-09, 2009-10, 2010-11。我尝试在PHP中使用for loop每年递增一次,但是它很长很笨拙。

3 个答案:

答案 0 :(得分:0)

你可以这样做

//year to start with
$startdate = 1960;

//year to end with - this is set to current year. You can change to specific year
$enddate = date("Y");

$years = range ($startdate,$enddate);

//print years
foreach($years as $year)
{
  echo $year . "<br />";
  echo $year.' - '. (substr($year,-2)+1)."<br />";
  echo $year.' - '.  str_pad((substr($year,-2)+1), 2 , "0",STR_PAD_LEFT)."<br />";

}

答案 1 :(得分:0)

应该是这样的:

$startdate = 1960;

//year to end with - this is set to current year. You can change to specific year
$enddate = 1970;

$years = range($startdate, $enddate);

//print years
foreach ($years as $year) {
    if ((substr($year, -2) + 1) <= substr($enddate, -2)) {
        echo $year . ' - ' . (substr($year, -2) + 1) . "<br />";
    }
}

答案 2 :(得分:0)

您可以使用以下代码。

// Start Year
$start_year = 1960;

//End Year
$end_year = 1970;

$all_years = range($start_year, $end_year);


array_walk($all_years, function(&$year){
    $year = $year .'-'. str_pad((substr($year, -2) + 1),2,"0",STR_PAD_LEFT);
});

print_r($all_years);
相关问题