CakePhp:如何使用$ this-> Form-> input设置一个选择,值为1到100?

Dac*_*bah 4 forms select cakephp

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

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

Dav*_*ave 9

TLDR:

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

说明:

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

array(1,2,3,4...
Run Code Online (Sandbox Code Playgroud)

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

当你真的想要这个:

array(1=>1, 2=>2, 3=>3 ...
Run Code Online (Sandbox Code Playgroud)

通过使用array_combine它使第一个选项具有与显示的数字相同的值.

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