Php 将数组值显示为数组中的数字
目前我的代码显示从1885年到2017年的年份。 这显示的是0=1885,1=1886这样的年份 我想要的是它像这样显示1885=1885,1886=1886等等(这类似于汽车的制造日期)Php 将数组值显示为数组中的数字,php,arrays,loops,cakephp,Php,Arrays,Loops,Cakephp,目前我的代码显示从1885年到2017年的年份。 这显示的是0=1885,1=1886这样的年份 我想要的是它像这样显示1885=1885,1886=1886等等(这类似于汽车的制造日期) $options=[]; 对于($x=1885;$x表格->选择('year')[ 美元期权, ],[ 'label'=>false, “类”=>“窗体组窗体控件”, ]); 因此,我想知道如何纠正我的错误。对于($x=1885;$x您需要设置$options数组的键,因为这些键被用作要提交的值。您还可以从
$options=[];
对于($x=1885;$x表格->选择('year')[
美元期权,
],[
'label'=>false,
“类”=>“窗体组窗体控件”,
]);
因此,我想知道如何纠正我的错误。
对于($x=1885;$x您需要设置$options
数组的键,因为这些键被用作要提交的值。您还可以从使用range
函数生成数组中获益:
for ($x = 1885; $x <= date("Y"); $x++) {
$options[$x] = $x;
}
$values = array_map('strval', range(1885, (int) date("Y")));
$options = array_combine($values, $values);
您还可以使用range()
和array\u combine()
执行此操作:-
第一个答案对我来说更有效,它不那么复杂。但我还是很欣赏你的答案!是的,第一个答案更容易阅读,你可以稍微展开我在这里给出的示例以使其更可读。答案很好。另外,你通过删除array\u push
调用并使用语言构造来追加array va,加快了脚本加载速度易变的。
$values = array_map('strval', range(1885, (int) date("Y")));
$options = array_combine($values, $values);
$years = range(1985, date('Y'));
$options = array_combine($years, $years);