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

Posted

技术标签:

【中文标题】在 laravel 5.4 刀片中通过键从多维数组中获取值【英文标题】:Getting value from multidimensional array by key in laravel 5.4 blade 【发布时间】:2017-09-15 04:43:22 【问题描述】:

当我试图从我的 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 中运行良好。我该怎么办?

【问题讨论】:

这是有效的 print_r($attr['value']['sel_val']); ? 您是否将 attr 变量传递给视图? 您能否出示您的刀片文件和return 控制器声明。 【参考方案1】:

它给出了这个错误,因为pred 也是一个数组。您必须执行$attr['value']['pred'][0] 才能获得Employed$attr['value']['pred'][1] 才能获得On vacation$attr['value']['pred'][2] 才能获得Dismissed$attr['value']['sel_val'] 才能获得sel_val 的值,即0 in这个案例。希望这会有所帮助。

【讨论】:

【参考方案2】:

当我们在控制器中以紧凑函数发送数组时工作正常

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

【讨论】:

以上是关于在 laravel 5.4 刀片中通过键从多维数组中获取值的主要内容,如果未能解决你的问题,请参考以下文章

循环多维数组 Laravel

Laravel 5.4 刀片和 select2 不工作

如何通过 Laravel 刀片在数组内打印数组?

具有多维数组的 Foreach - Laravel Blade 模板

如何在 laravel 5.4 中使用 style.css 文件?

在刀片中显示 laravel DB::select 数组