显示json的输出值

时间:2017-02-20 13:13:20

标签: php json codeigniter

下面是json代码,我有o显示其值。如何获取输出如下所示

 $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

任何帮助?

3 个答案:

答案 0 :(得分: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函数/概念:

答案 1 :(得分:1)

尝试使用json_decode() true作为第二个属性,首先将JSON转换为array。然后使用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;

答案 2 :(得分: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'] ;