Laravel Blade显示选择下拉列表的值不正确

时间:2017-12-20 19:26:37

标签: php laravel select blade

我正在使用Laravel 5.4并且我正在使用Blade创建一个表单,其中一个<select>就是所有月份。

@php (
$months = [
    '1'=>'01 - January',
    '2'=>'02 - February',
    '3'=>'03 - March',
    '4'=>'04 - April',
    '5'=>'05 - May',
    '6'=>'06 - June',
    '7'=>'07 - July',
    '8'=>'08 - August',
    '9'=>'09 - September',
    '10'=>'10 - October',
    '11'=>'11 - November',
    '12'=>'12 - December',
]
)


{{Form::select('card_month', array_merge(['' => 'Select Month'], $months),null,['id' => 'exp_month'])}}

当我使用Inspect Element查看下拉列表时,我看到了这一点 enter image description here
$ months数组中的键与Inspect Element中的值不匹配 值从0开始,而不是1。

但是如果我在键前面添加一个空格,那么数字会在Inspect Element下正确显示。

' 1'=>'01 - January',
' 2'=>'02 - February',
' 3'=>'03 - March',
' 4'=>'04 - April',
' 5'=>'05 - May',
' 6'=>'06 - June',
' 7'=>'07 - July',
' 8'=>'08 - August',
' 9'=>'09 - September',
' 10'=>'10 - October',
' 11'=>'11 - November',
' 12'=>'12 - December',

enter image description here

为什么会发生这种情况,我该如何解决?

1 个答案:

答案 0 :(得分:4)

这不是Laravel错误,这是 array_merge 函数的行为方式:

  

带有数字键的输入数组中的值将使用从结果数组中的零开始的递增键重新编号。