Php 如何访问Laravel 4中数组的键/值?

Php 如何访问Laravel 4中数组的键/值?,php,laravel-4,blade,Php,Laravel 4,Blade,如何访问Laravel 4中数组的键/值? 创建 echo Form::select('size', array('L' => 'Large', 'S' => 'Small'), 'S'); 展示 {{{ $shirt->size or ''}}} 结果 它不断显示我的L,但我想显示为大的 有人能告诉我怎么做吗 简单的回答是你不能,或者至少不能以你期望的方式。当一个项目被选中并发回给您时,返回的只是元素的值,而不是它的内容 请注意: {{ Form::select('siz

如何访问Laravel 4中数组的键/值?

创建

echo Form::select('size', array('L' => 'Large', 'S' => 'Small'), 'S');
展示

{{{ $shirt->size or ''}}}
结果

它不断显示我的L,但我想显示为大的

有人能告诉我怎么做吗

简单的回答是你不能,或者至少不能以你期望的方式。当一个项目被选中并发回给您时,返回的只是
元素的值,而不是它的内容

请注意:

{{ Form::select('size', array('L' => 'Large', 'S' => 'Small'), 'S') }}
生成的HTML有点像这样:

<select name="size">
    <option value="L">Large</option>
    <option selected value="S">Small</option>
</select>
然后,您可以使用(前提是将
$size
传递给您的
视图
):

然后使用
$size[$shirt->size]
检索值

如果您想格外小心(因为有人可能会编辑HTML以提交不同于“L”或“S”的值),您可以执行以下操作

$size = (array_key_exists($shirt->size, $sizes) ? $sizes[$shirt->size] : '');

第二个想法是,看起来您有一件
衬衫
型号,可以在该类中添加以下内容:

public $sizes = array('L' => 'Large', 'S' => 'Small');

public function getSizeAttribute($v) {
    return (array_key_exists($v, $this->sizes) ? $this->sizes[$v] : '');
}
然后,
$shirt->size
将完全按照您的要求执行,并吐出“大”


在等待有人帮我回答这个问题的时候。我完成了上面的代码,它似乎按照我的要求完成了操作。

$shirt->size['L']?
$size = (array_key_exists($shirt->size, $sizes) ? $sizes[$shirt->size] : '');
public $sizes = array('L' => 'Large', 'S' => 'Small');

public function getSizeAttribute($v) {
    return (array_key_exists($v, $this->sizes) ? $this->sizes[$v] : '');
}
{{ Form::select('size', array('Large' => 'Large', 'Small' => 'Small'), 'Small') }}