我正在使用Laravel框架。
我有一个表格,其中包含一些我希望迭代的JSON,我已将表格转换为数组。这是格式;
{"Height": "#m", "Width": "#m", "Weight": {"now": "#kg", "previous": "#kg"}}
我的控制器返回视图;
$person = Person::find($ID);
$data = $person->tableJson;
return view('person.person_details', compact('person', 'data'));
在视图中:
@foreach ($data as $value)
Width: {{ $value->tableJson['Width'] }} <br>
Height: {{ $value->tableJson['Height'] }} <br>
Weight (now): {{ $value->tableJson['Weight']['now'] }} <br>
Weight (previous): {{ $value->tableJson['Weight']['previous'] }} <br>
<hr>
@endforeach
我有那个工作。问题是我想用JSON本身的键替换硬编码标题(宽度,高度等)。这样我就可以(希望)动态填充表而不知道JSON包含什么。
答案 0 :(得分:1)
循环使用$data
时使用实际密钥:
$data = [0: ["Height" => "#m", "Width" => "#m", "Weight" => ["now" => "#kg", "previous" => "#kg"]]];
foreach ($data as row) {
foreach ($row as $header => $val) {
if (is_string($val)) {
echo "{$header}: {$val}<br/>";
} else {
foreach ($val as $type => $subVal) {
echo "{$header} ($type): {$subVal}<br/>";
}
}
}
echo "<hr/>";
}