我将mysql数组存储在mysql中作为字符串
box
当我尝试使用它时
[{"id": 1, "mark": 5}, {"id": 2, "mark": 3}, {"id": 3, "mark": 2}]
有一个问题。 $ rate->标记是一个字符串。怎么把它解码到数组?
UPD
当然我尝试使用json_decode,但它返回错误
@foreach ($places as $place)
@foreach ($place->rates as $rate)
{{var_dump($rate->marks)}}
@endforeach
@endforeach
解决
我真是个傻瓜。问题不在json_decode中。我试图用{{}}打印结果,需要字符串作为参数。答案 0 :(得分:0)
你的json中没有rate
,也没有marks
。
$json = '[{"id": 1, "mark": 5}, {"id": 2, "mark": 3}, {"id": 3, "mark": 2}]';
$places = json_decode ($json);
foreach ($places as $place)
var_dump($place->mark);
设计Laravel的代码,在线调试不具备该功能。
让我知道。
答案 1 :(得分:0)
您需要json_decode
您的标记,然后将它们作为数组进行迭代。这样的事情(我不知道它是否适用于Laravel,但你可以得到一个想法):
@foreach ($places as $place)
@foreach ($place->rates as $rate)
@foreach (json_decode($rate->marks) as $mark)
{{var_dump($mark->mark)}}
@endforeach
@endforeach
@endforeach
答案 2 :(得分:0)
<?php
$str = '[{"id": 1, "mark": 5}, {"id": 2, "mark": 3}, {"id": 3, "mark": 2}]';
$places = json_decode($str);
foreach ($places as $place) {
echo 'id=>' . $place->id;
echo 'mark=>' . $place->mark;
echo "<br>";
}