Я использую следующий код для возврата некоторой информации API:
$jsonfile = file_get_contents($url);
$jsondata = json_decode($jsonfile);
print_r($jsondata->routes[0]->legs[0]->distance);
Это отображает следующие данные на веб-странице:
stdClass Object ([text] => 91.4 mi[value] => 147088 )
Что мне нужно знать, так это как преобразовать поле значения (например, [value]=147088) в переменную, которую я могу сохранить в своей базе данных, например. Как я могу получить
$value = xxxxx
Также не то чтобы это массивы нет, а объекты.
@arkascha, ну routes и legs это массивы ;-)
@AbraCadaver Конечно, я имел в виду расстояния, когда писал «эти»…






Здравствуйте и добро пожаловать в сообщество.
Используйте код ниже:
<?php
$jsonfile = file_get_contents($url);
$jsondata = json_decode($jsonfile, true);
extract($jsondata);
Как работает этот код:
1- Я добавил второй параметр в функцию json_decode(), которая является логическим значением, и если это правда, она вернет массив вместо объекта.
2- Функция extract() присвоит значение массива своему ключу в качестве переменной. Нравиться:
<?php
$my_array = ["firstname" => "Adnan", "lastname" => "Babakan"];
extract($my_array);
// $firstname = "Adnan";
// $lastname = "Babakan";
Надеюсь, это был ваш ответ.
Просто продолжай в том же духе:
$value = $jsondata->routes[0]->legs[0]->distance->value;