2013-05-19 3 views
1

Нужно получить значение «расстояние» «текст» из API Карт Google и преобразовать его в строку PHP.Преобразование значения JSON в строку PHP

Например, https://maps.googleapis.com/maps/api/distancematrix/json?origins=TN222AF&destinations=tn225dj&mode=bicycling&language=gb-FR&sensor=false&units=imperial дает нам:

{ 
    "destination_addresses" : [ "New Town, Uckfield, East Sussex TN22 5DJ, UK" ], 
    "origin_addresses" : [ "Maresfield, East Sussex TN22 2AF, UK" ], 
    "rows" : [ 
     { 
     "elements" : [ 
      { 
       "distance" : { 
        "text" : "3.0 mi", 
        "value" : 4855 
       }, 
       "duration" : { 
        "text" : "22 mins", 
        "value" : 1311 
       }, 
       "status" : "OK" 
      } 
     ] 
     } 
    ], 
    "status" : "OK" 
} 

Как бы значение «3,0 мили» быть изменено в переменную PHP из этого канала JSON?

Большое спасибо!

ответ

0
$json = <<<END_OF_JSON 
{ 
    "destination_addresses" : [ "New Town, Uckfield, East Sussex TN22 5DJ, UK" ], 
    "origin_addresses" : [ "Maresfield, East Sussex TN22 2AF, UK" ], 
    "rows" : [ 
     { 
     "elements" : [ 
      { 
       "distance" : { 
        "text" : "3.0 mi", 
        "value" : 4855 
       }, 
       "duration" : { 
        "text" : "22 mins", 
        "value" : 1311 
       }, 
       "status" : "OK" 
      } 
     ] 
     } 
    ], 
    "status" : "OK" 
} 
END_OF_JSON; 

$arr = (json_decode($json, true)); 
echo $arr["rows"][0]["elements"][0]["distance"]["text"]; 

--output:-- 
3.0 mi 
2

Благодаря Дори Сидон, я достиг этого, в конце концов, и это решило мою проблему:

<?php 
    $q = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=TN222AF&destinations=tn225dj&mode=bicycling&language=gb-FR&sensor=false&units=imperial"; 
    $json = file_get_contents($q); 
    $details = json_decode($json); 
    $distance=$details->rows[0]->elements[0]->distance->text; 
    echo $distance; 
?> 
Смежные вопросы