我正在使用Cakephp,我想学习如何设置一个从1到100的值的选择?
请注意,如果可能,我更愿意使用$this->Form->input
。
答案 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
,只需使第一个选项与显示的数字具有相同的值。
(很明显你可以写一行 - 我只是为了便于阅读而将其分解)