Как получить конкретные данные из JSON?
Получаю json в виде
$json = [{"id":"bitcoin","coin":"Bitcoin","coin_price":"126.4","date":"2013-09-09"},{"id":"bitcoin","coin":"Bitcoin","coin_price":"127.78","date":"2013-09-10"},{"id":"bitcoin","coin":"Bitcoin","coin_price":"131.65","date":"2013-09-11"}];
$data = json_decode($json, true);
print $data['0']['id']; // bitcoin
Как я могу получить значение coin_price на дату 2013-09-10?
Ответы (2 шт):
Автор решения: Anton Shchyrov
→ Ссылка
Обычным циклом
function getPrice($data, $date) {
foreach ($data as $obj) {
if ($obj['date'] === $date)
return $obj['coin_price'];
}
return null;
}
print getPrice($data, '2013-09-10');
Автор решения: Dmitry Kozlov
→ Ссылка
Сначала отфильтровать массив по дате, потом создать новый массив, содержащий прайс(ы)
$founded = array_map(function ($a) {
return $a['coin_price'];
}, array_filter($data, function($b) {
return $b['date'] === '2013-09-10';
});