PHP: json_decode - чтение названий категорий
Я пытаюсь прочитать цены в формате JSON по адресу: https://poloniex.com/public?command=returnTicker
что мне нужно, это две вещи: имена символов (например, BTC_BBR, BTC_BCN и т. д.) и цена "наивысшей ставки" для них. Чтобы прочитать лестницу, я использую что-то вроде этого:
$polo_price = file_get_contents('https://poloniex.com/public?command=returnTicker');
$polo = json_decode($polo_price, true);
$symbol[1] = $polo['BTC_BBR']['highestBid'];
Но мне нужно использовать имя символа, чтобы прочитать его. Символы исчезают и добавляются время от времени, поэтому мне нужно сделать это более автоматически. Как я могу прочитать имена символов в массив, так что результат:
symbol_name[0] = "BTC_BBR";
symbol_name[1] = "BTC_BCN";
и так далее.
2 ответа
Решение
Попробуй это:
<?php
$polo_price = file_get_contents('https://poloniex.com/public?command=returnTicker');
$polo = json_decode($polo_price, true);
foreach ($polo as $symbol=>$array){
$symbols[]=$symbol;
$highestBids[] = $array['highestBid'];
}
print_r($symbols);
print_r($highestBids);
<?php
function findHighestBid()
{
$result = [];
$url = "https://poloniex.com/public?command=returnTicker";
$json_data = file_get_contents($url);
$array_data = json_decode($json_data, true);
foreach ($array_data as $currncy_option => $value) {
$result[$currncy_option] = $value["highestBid"];
}
return $result;
}
print_r(findHighestBid());
Он автоматически получит самую высокую ставку для всех опций валюты в данных json, а также установит валюту в качестве ключа //output
Array
(
[BTC_BBR] => 0.00026283
[BTC_BCN] => 0.00000005
[BTC_BELA] => 0.00002100
[BTC_BITS] => 0.00000892
[BTC_BLK] => 0.00003480
[BTC_BTCD] => 0.00615298
Как это....