将如下所示的 JSON 字符串传递给视图后。当我这样做时...
<p>{{ $sets }}</p>
我得到...
[{"name":"A"},{"name":"B"}, ... ,{"name":"Z"}]
但是,当我尝试...
@foreach ($sets as $set)
<p>{{ $set->name }}</p>
@endforeach
我收到错误"为 foreach()提供的参数无效"。
我很确定这是一个简单的问题,尽管我不确定出了什么问题。
您是否使用 Json_Decode 来创建 $sets 变量?
尝试这样的事情以确保没有解析错误,发生:
$sets = json_decode($data);
switch (json_last_error()) {
case JSON_ERROR_DEPTH:
$json_error = 'Maximum stack depth exceeded';
break;
case JSON_ERROR_STATE_MISMATCH:
$json_error = 'Underflow or the modes mismatch';
break;
case JSON_ERROR_CTRL_CHAR:
$json_error = 'Unexpected control character found';
break;
case JSON_ERROR_SYNTAX:
$json_error = 'Syntax error, malformed JSON';
break;
case JSON_ERROR_UTF8:
$json_error = 'Malformed UTF-8 characters, possibly incorrectly encoded';
break;
}
之后,尝试添加一个Var_dump($set)以查看每个项目是对象还是数组。您描述的方式只有在它是对象时才有效。
@foreach ($sets as $set)
<?php var)dump($set); ?>
@endforeach