将数组值显示为数组中的数字

时间:2017-05-19 08:53:13

标签: php arrays loops cakephp

目前,我的代码显示了从1885年到2017年的一年。 这样做表明这些年代如0 = 1885年,1 = 1886年。

我想要的是它显示它像1885 = 1885年,1886年= 1886年等(这类似于汽车制造的日期)

$options = [];
for ($x = 1885; $x <= date("Y"); $x++) {
array_push($options, $x);
}

  echo $this->Form->select('year', [
       $options,
   ],[
     'label' => false,
     'class' => 'form-group form-control',
   ]);

所以我想知道如何解决我做错的事。

3 个答案:

答案 0 :(得分:3)

for ($x = 1885; $x <= date("Y"); $x++) {
    $options[$x] = $x;
}

答案 1 :(得分:2)

您也可以使用range()array_combine()执行此操作: -

$years = range(1985, date('Y'));
$options = array_combine($years, $years);

答案 2 :(得分:1)

您需要设置$options数组的键,因为键用作要提交的值。您也可以使用range函数来生成数组:

$values = array_map('strval', range(1885, (int) date("Y")));
$options = array_combine($values, $values);