簡體   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