CakePhp:如何使用$ this-> Form->输入选择值为1到100?

时间:2012-02-01 16:45:57

标签: forms cakephp select

我正在使用Cakephp,我想学习如何设置一个从1到100的值的选择?

请注意,如果可能,我更愿意使用$this->Form->input

1 个答案:

答案 0 :(得分:9)

<强> TLDR:

echo $this->Form->input('whatever', array(
    'type'=>'select',
    'options'=>array_combine(range(1,100), range(1,100))
));

<强>解释

PHP range创建一个数字(或字母)数组,这是您想要的选项。但是,如果您单独使用range,则会创建:

array(1,2,3,4...

这会给你一个数字下拉列表,但无论显示的数字如何,数值都将从零开始 - 在这种情况下,你最终会得到array(0=>1, 1=>2 ...

当你真的想要这个时:

array(1=>1, 2=>2, 3=>3 ...

通过使用array_combine,只需使第一个选项与显示的数字具有相同的值。

(很明显你可以写一行 - 我只是为了便于阅读而将其分解)