【问题标题】:Display value of json to output显示要输出的 json 值
【发布时间】:2017-02-20 13:13:20
【问题描述】:

下面是 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

有什么帮助吗?

【问题讨论】:

  • json_decode 与第二个参数 true 获取数组而不是 std 对象。之后,情况就不同了。
  • 请解释说明
  • @Kirataka 你试过什么??
  • 伙伴,阅读我给你的链接。看例子,学习一些数组函数。至少尝试一下。

标签: php json codeigniter


【解决方案1】:

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 函数/概念:

【讨论】:

  • 非常感谢您不仅提供答案,还提供链接。
【解决方案2】:

尝试使用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;

【讨论】:

    【解决方案3】:

    试试这个。

    $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'] ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-15
      • 2012-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      相关资源
      最近更新 更多