获取JSON值作为PHP变量

时间:2015-05-19 07:48:38

标签: php json

我有一个JSON,我希望将JSON的值作为PHP变量。如果我回显变量$jne,结果将是这样的。

{
"rajaongkir":{
  "query":{
     "origin":"501",
     "destination":"114",
     "weight":1700,
     "courier":"jne"
  },
  "status":{
     "code":200,
     "description":"OK"
  },
  "origin_details":{
     "city_id":"501",
     "province_id":"5",
     "province":"DI Yogyakarta",
     "type":"Kota",
     "city_name":"Yogyakarta",
     "postal_code":"55000"
  },
  "destination_details":{
     "city_id":"114",
     "province_id":"1",
     "province":"Bali",
     "type":"Kota",
     "city_name":"Denpasar",
     "postal_code":"80000"
  },
  "results":[
     {
        "code":"jne",
        "name":"Jalur Nugraha Ekakurir (JNE)",
        "costs":[
           {
              "service":"OKE",
              "description":"Ongkos Kirim Ekonomis",
              "cost":[
                 {
                    "value":38000,
                    "etd":"4-5",
                    "note":""
                 }
              ]
           },
           {
              "service":"REG",
              "description":"Layanan Reguler",
              "cost":[
                 {
                    "value":44000,
                    "etd":"2-3",
                    "note":""
                 }
              ]
           },
           {
              "service":"SPS",
              "description":"Super Speed",
              "cost":[
                 {
                    "value":349000,
                    "etd":"",
                    "note":""
                 }
              ]
           },
           {
              "service":"YES",
              "description":"Yakin Esok Sampai",
              "cost":[
                 {
                    "value":98000,
                    "etd":"1-1",
                    "note":""
                 }
              ]
           }
        ]
     }
  ]
 }
 }

这就是我尝试获取价值的方式,我想获得价值'在'成本'

$content = $jne;
$json = json_decode($content, true);

$value = $json[results][0][costs][1][cost][0][value];

感谢您的帮助..

2 个答案:

答案 0 :(得分:4)

如果您要查找值“44000”,那么您的查询应为:

$value = $json['rajaongkir']['results'][0]['costs'][1]['cost'][0]['value'];

答案 1 :(得分:3)

有多个"值"那里。这将为您提供所有4个值:

$json = json_decode($content, true);

$values = Array();
foreach($json['rajaongkir']['results'][0]['costs'] as $cost) {
    $values[] = $cost['cost'][0]['value'];
}
print_r($values);

输出:

Array
(
    [0] => 38000
    [1] => 44000
    [2] => 349000
    [3] => 98000
)