格式化PHP数组动态年

时间:2017-03-26 03:13:29

标签: php arrays multidimensional-array

想知道是否有人可能知道如何轻松地做到这一点。

我正在开发一个JSON API,我有一些循环到如下所示的数组。

$years =[];
for ($x = date('Y'); $x <= date('Y') + 9; $x++) {
  $years[$x] = $x;
}

JSON输出:

{


  "2017": "2017",
   "2018": 2018,
   "2019": 2019,
   "2020": 2020,
   "2021": 2021,
   "2022": 2022,
   "2023": 2023,
   "2024": 2024,
   "2025": 2025,
   "2026": 2026
}

如何更改此设置,以便将ID和Year映射到自己的子数组中。

(例如,输出就像是。

{
"years": [
      {
         "id": 1,
         "year": "2014"
      },
      {
         "id": 2,
         "year": "2015"
      }
   ]

非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

for ($i=0; $i < 9; $i++) {
  $years[] = ['id'=> $i+1, 'year' => date('Y') + $i];
}

但是,为什么要将id存储在单独的索引中?

for ($i=0; $i < 9; $i++) {
  $years[] = date('Y') + $i;
}

要完成数组,您可以执行以下操作:

echo json_encode(['years' => $years]);
相关问题