在laravel 5.4刀片中通过键获取多维数组的值

时间:2017-04-19 05:54:19

标签: arrays laravel multidimensional-array blade

当我试图从我的php刀片中的数组中获取值时遇到了一些困难。 它具有相当清晰的结构(用dd函数打印)

{{dd($attr)}}

array:4 [▼
  "id" => "215"
  "type" => "select"
  "name" => "Status"
  "value" => array:2 [▼
    "pred" => array:3 [▼
      0 => "Employed"
      1 => "On vacation"
      2 => "Dismissed"
    ]
    "sel_val" => "0"
  ]
]

当我想通过键'sel_val'或'pred'获得一个值

print_r($attr['value']['pred']);

它给了我非法字符串偏移'pred'

它在Controller中运行良好。我该怎么办?

2 个答案:

答案 0 :(得分:0)

它给出了该错误,因为pred也是一个数组。您必须$attr['value']['pred'][0]才能获得Employed$attr['value']['pred'][1]获取On vacation$attr['value']['pred'][2]获取Dismissed$attr['value']['sel_val']在这种情况下获取sel_val的值0。希望这会有所帮助。

答案 1 :(得分:0)

在控制器中以紧凑功能发送数组时工作正常

$record = array('id' => '215', 'type' => 'select', 'value' => array('pred' => array('0'=> 'Employed', '1' => 'On vacation', '2' => 'Dismissed'),'sel_val' => '0'));

return view('home', compact('record'));