我需要编写一个如下所示的数组:
$years = array('12', '11', '10', '09', '08');
我想有一个脚本来创建这个数组,所以我不必每年更新它。
试过这个:
for ($i = date("y"); $i >= 08; $i++) {
$yrs .= '"'.$i.'", ';
}
$years = array($yrs);
答案 0 :(得分:1)
你想要在你的循环中递减而不是递增,因为你试图从12降到8.所以将你的++改为 - 。您还可以使用$years[] = ...
表示法附加到数组,并使用$years = array()
创建数组:
$years = array();
for ($i = date("y"); $i >= 8; $i--)
$years[] = str_pad($i, 2, "0", STR_PAD_LEFT);
print_r($years)
给出:
Array
(
[0] => 12
[1] => 11
[2] => 10
[3] => 09
[4] => 08
)
答案 1 :(得分:0)
$years = array();
for ($i = date("y"); $i >= 8; $i--) {
$years[] = substr("00".$i,-2);
}
答案 2 :(得分:0)
PHP的range函数在这里有很多帮助:
$thisYear = date('Y'); // "2012"
$years = range($thisYear, $thisYear-4);
// array(2012,2011,2010,2009,2008)
$thisYear = date('y'); // "2012"
$years = range($thisYear, $thisYear-4);
// array(12,11,10,9,8)
$years = array_map(function($year) {
return sprintf('%02u', $year);
}, $years);
// array("12","11","10","09","08")
注意:对array_map使用内联函数(闭包)需要PHP 5.3 +