Получить JSON из URL через PHP

154
01 мая 2018, 00:10

Есть данные: https://api.trademc.org/shop.getLastPurchases?shop=76674&count=2&v=2

Я делаю так:

        <?php
        $url = 'https://api.trademc.org/shop.getLastPurchases?shop=76674&count=5&v=2'; 
        $data = file_get_contents($url); 
        $characters = json_decode($data, true); 
        echo $characters[0]->name;
        foreach ($characters as $character) {
            echo $character->name;
        }
        ?>

На выходе у меня пустота. Подскажите люди добрые)

Answer 1

Вы же конвертнули в массив, а обращаетесь как к объекту.

$characters = 'https://api.trademc.org/shop.getLastPurchases?shop=76674&count=5&v=2';
$characters = file_get_contents($characters);
$characters = json_decode($characters, true);
$characters = isset($characters['response']) ? $characters['response'] : array();
if ($characters) {
    foreach ($characters as $character) {
        $buyer = isset($character['buyer']) ? $character['buyer'] : '';
        $item = isset($character['item']) ? $character['item'] : array();
        $name = isset($item['name']) ? $item['name'] : '';
        var_dump($buyer, $name);
    }
}
Answer 2

Вот так на выходе получите PHP массив:

    $url    = 'https://api.trademc.org/shop.getLastPurchases?shop=76674&count=5&v=2';
    $data   = file_get_contents($url);
    if ( ! empty($data)) {
        $contents = json_decode(html_entity_decode($data), TRUE);
        echo '<pre>';
        print_r($contents['response']);
        echo '</pre>';
    }
READ ALSO
Update таблицы в зависимости от значения столбца

Update таблицы в зависимости от значения столбца

Подскажите, как правильно сделать один запрос вместо этого?

155
Стилизация и вывод кода в определенной области php

Стилизация и вывод кода в определенной области php

уважаемые друзьяПодскажите, пожалуйста, есть код вида:

149
НА виндовсфоне не работает input mask

НА виндовсфоне не работает input mask

НА виндовсфоне не работает input maskТочнее работает но не так

198
.load в несколько блоков

.load в несколько блоков

Столкнулся с такой проблемой: Есть несколько <div id="product"></div>, при загрузке выполняется следующий код $('#product')load('/product

154