Вывод данных циклом из json php

379
03 июня 2017, 17:39

Eсть такой json

{
    "answer": {
        "currency": "RUR",
        "price_group": "125 RUR",
        "prices": {
            "__idn.cc": {
                "extcreate_price_eq_renew": "1",
                "idn": "1",
                "reg_max_period": 10,
                "reg_min_period": 1,
                "reg_price": "1131.00",
                "retail_reg_price": "1414.00"
            },
            "__idn.org": {
                "extcreate_price_eq_renew": "1",
                "idn": "1",
                "reg_max_period": 1,
                "reg_min_period": 1,
                "reg_price": "606.00",
                "retail_reg_price": "606.00"
            },
            "__idn.tel": {
                "extcreate_price_eq_renew": "1",
                "idn": "1",
                "reg_max_period": 10,
                "reg_min_period": 1,
                "reg_price": "720.00",
                "retail_reg_price": "720.00"
            }
        }
    }
}

Я сделал такой цикл

$rrow = json_decode( $jsonString );
foreach ($rrow->answer->prices as $item) {
    $reg_price = $item->reg_price;
    $retail_reg_price = $item->retail_reg_price;
    echo 'Регистрация - '.$reg_price.'; Продление - '.$retail_reg_price.'<бр>';  
}

Но мне надо отобразить доменную зону для каждого ответа. Та которая __idn.cc, __idn.org ... Пробовал использовать просто $item - вызывает ошибку. Наверняка решение простое, только знать бы его :)

Answer 1

Вы должны просто указать в цикле что нужно передавать ключ и всё, вот так:

$rrow = json_decode( $jsonString );
foreach ($rrow->answer->prices as $domain => $item) {
    $reg_price = $item->reg_price;
    $retail_reg_price = $item->retail_reg_price;
    echo 'Домен: '.$domain.'. Регистрация - '.$reg_price.'; Продление - '.$retail_reg_price.'<бр>';  
}
READ ALSO
Хранение массивов в Redis

Хранение массивов в Redis

Доброго времени! Хочу спросить совета по поводу хранения данных в redis как это сделать быстрее и оптимальней в плане кода и быстродействия...

468
Выборка из базы и сравнение

Выборка из базы и сравнение

Данный код рисует сетку календаря, календарь рисуется на месяцВыбираются все данные за этот месяц (если есть такие) и при наличии данных в базе...

305
feof() и пустой файл

feof() и пустой файл

Имеется пустой файл (0 байт)Почему feof() не возвращает true?

281