解析json并将其转换为php数组

时间:2019-02-22 21:08:33

标签: php arrays json

我正在尝试从Google Map JSON URL中回显一个值。我可以var_dump()键和值,但不能单独拉特定的值。邮递区号:

<?php
    $from = 'Piccadilly+Circus+London+UK';
    $to = 'Brighton+Railway+Station+Brighton+UK';
    $json ='https://maps.googleapis.com/maps/api/distancematrix/json?origins='.$from.'&destinations='.$to.'&mode=driving&key=APIKEY';
    $ch = curl_init($json);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    $data = curl_exec($ch);
    curl_close($ch);

    // Print Result
    echo '<pre>' . var_dump($data) . '</pre>';

?>

var_dump()结果如下;

       string(542) "{
       "destination_addresses" : [ "Brighton, Queens Rd, Brighton BN1 3XP, UK" ],
       "origin_addresses" : [ "Piccadilly Circus, London W1B, UK" ],
       "rows" : [
          {
             "elements" : [
                {
                   "distance" : {
                      "text" : "86.7 km",
                      "value" : 86665
                   },
                   "duration" : {
                      "text" : "1 hour 59 mins",
                      "value" : 7114
                   },
                   "status" : "OK"
                }
             ]
          }
       ],
       "status" : "OK"
    }
    "

我需要将 distance-> text 分配给php变量。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

尝试一下:

$variable = json_decode($data)->rows[0]->elements[0]->distance->text;

答案 1 :(得分:0)

为了将json转换为php数组变量,您可以将json_decode($data, true)与第二个参数一起使用,将true转换为关联数组。

代码示例。

$json = json_decode($date,true);

print  $jsonp['rows'][0]['elements']['0']['distance']['value'];

文档。 http://php.net/manual/en/function.json-decode.php

希望有帮助。