繁体   English   中英

在PHP中循环JSON

[英]Looping JSON in Php

json_from_db:

 {
   "id": 23,
   "positions": "[{\"col\":2,\"row\":1,\"size_x\":10,\"size_y\":3}]",
   "styles": "\"position: absolute; min-width: 135px; min-height: 160px;\"",
   "created_at": "2016-07-18 02:40:36",
   "updated_at": "2016-07-18 02:40:36"
 }

在PHP中循环:

$positions = json_from_db
foreach($positions->position as $value) { echo $value->col}

无效的参数提供了错误

我想获取col,sixe_x和size_y的值

更新

下面的答案是正确的,但也要获取样式的值

试试我的来源xD

$positions = json_decode('{
"id": 6,
"positions": [
    {
        "col": 6,
        "row": 1,
        "size_x": 2,
        "size_y": 2
    }
],
"created_at": "2016-07-17 23:36:47",
"updated_at": "2016-07-17 23:36:47"
}');
echo 'col: '.$positions->positions[0]->col.'<br>';
echo 'row: '.$positions->positions[0]->row.'<br>';
echo 'size_x: '.$positions->positions[0]->size_x.'<br>';
echo 'size_y: '.$positions->positions[0]->size_y.'<br>';

你会得到结果

col: 6
row: 1
size_x: 2
size_y: 2

您需要使用json_decode()

$arr = '{"id":6,"positions":" [{\"col\":6,\"row\":1,\"size_x\":2,\"size_y\":2}]","created_at":"2016-07-17 23:36:47","updated_at":"2016-07-17 23:36:47"}';
$positionsArr = json_decode($arr,true);
$positions = json_decode($positionsArr["positions"],true);
foreach($positions as $value) 
{ 
    echo "size x:". $value['size_x']. "\n size y: ". $value['size_y'];
}

现场演示: 点击这里

您需要先解码JSON,然后才能使用数据

$json_obj = json_decode($json_from_db);
$positions = $json_obj->positions;

foreach($positions as $position){
    echo $position->col . "<br/>";
}

现场演示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM