Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数组值显示为数组中的数字_Php_Arrays_Loops_Cakephp - Fatal编程技术网

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

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数组的键,因为这些键被用作要提交的值。您还可以从

目前我的代码显示从1885年到2017年的年份。 这显示的是0=1885,1=1886这样的年份

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

$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);