2017-02-20 74 views
0

下面是json代碼,我有o顯示它的值。下面json顯示輸出值

$jsondata = '{ 
         "flowers": [ 
          { 
           "id": "1", 
           "name": "Le Grand Bouquet Blanc", 
           "price": "65", 
           "currency": "euro" 
          }, 
          { 
           "id": "2", 
           "name": "Roses", 
           "price": "33", 
           "currency": "euro" 
          }, 
          { 
           "id": "3", 
           "name": "Mandarine", 
           "price": "125", 
           "currency": "euro" 
          } 
         ] 
        }'; 

輸出給定要來這樣

Name : Le Grand Bouquet Blanc, Price : 65 
Name : Roses, Price : 33 
Name : Mandarine, Price : 125 
Total: 223 Euro 

任何幫助如何獲取輸出?

+1

['json_decode'](http://php.net/manual/ro/function.json-decode.php)與所述第二個參數TRUE;以獲得代替'std'對象的陣列。之後,這是一個不同的故事。 – Andrew

+0

請解釋說明 – Kirataka

+0

@Kirataka你嘗試過什麼? –

回答

2

JSON解碼,通過數據循環,並輸出所需的文本,象這樣:

$data = json_decode($jsondata);               

$total = 0;                    
foreach($data->flowers as &$datum) {              
    printf('Name : %s, Price: %d'.PHP_EOL, $datum->name, $datum->price);     
    $total += $datum->price;                
}                       
printf('Total: %d Euro'.PHP_EOL, $total); 

上的一些基本PHP函數/概念閱讀起來:

+0

非常感謝您不僅提供答案,而且還提供鏈接。 – Kirataka

0

試試這個。

$jsondata = '{ 
          "flowers": [ 
           { 
            "id": "1", 
            "name": "Le Grand Bouquet Blanc", 
            "price": "65", 
            "currency": "euro" 
           }, 
           { 
            "id": "2", 
            "name": "Roses", 
            "price": "33", 
            "currency": "euro" 
           }, 
           { 
            "id": "3", 
            "name": "Mandarine", 
            "price": "125", 
            "currency": "euro" 
           } 
          ] 
         }'; 


    $data = json_decode($jsondata,true); 

    echo "Name : " . $data['flowers'][0]['name'] . ' , Price: ' . $data['flowers'][0]['price'] ; 
1

嘗試使用json_decode()true作爲第二屬性JSON它轉換成array first.Then使用foreach循環,並得到想要的結果。

<?php 
$jsondata = '{ 
         "flowers": [ 
          { 
           "id": "1", 
           "name": "Le Grand Bouquet Blanc", 
           "price": "65", 
           "currency": "euro" 
          }, 
          { 
           "id": "2", 
           "name": "Roses", 
           "price": "33", 
           "currency": "euro" 
          }, 
          { 
           "id": "3", 
           "name": "Mandarine", 
           "price": "125", 
           "currency": "euro" 
          } 
         ] 
        }'; 
$array = json_decode($jsondata,true); 
//print_r($array); 
$sum = 0; 
foreach($array['flowers'] as $flowers) 
{ 
    echo "Name : ".$flowers['name'].",Price : ".$flowers['price'].PHP_EOL; 
    $sum+=$flowers['price']; 
    $currency = $flowers['currency']; 
} 
echo "Total:".$sum." ".$currency;