我一直在尝试使用laravel的集合函数mapWithKeys创建一个数组,但是我无法实现我所需要的。
这是我的代码,
$years = range(1900, date('Y'));
return collect($years)->mapWithKeys(function($value){
return [$value => $value];
})->all();
预期结果
Array
(
[1900] => 1900
[1901] => 1901
[1902] => 1902
....
[2017] => 2017
)
但是我得到的是
Array
(
[0] => 1900
[1] => 1901
[2] => 1902
...
[117] => 2017
)
最佳答案
我已经测试了这段代码,它可以完美地工作:
$years = range(1900, date('Y'));
return collect($years)->map(function($i) {
return ['year' => $i];
}, $years)->pluck('year', 'year');