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

130
15 декабря 2019, 05:30

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
Позиционирование в файле c++

Позиционирование в файле c++

Создать функцию, которая с использованием функций позиционирования в потоке изменяет содержимое файла "arraydat", переданного ей в качестве...

161
Как преобразовать UTF-8 в Кириллицу в Visual Studio 2017?

Как преобразовать UTF-8 в Кириллицу в Visual Studio 2017?

Изначально файл программы набирался в Notepad++(по умолчанию utf-8)Много разрозненного русского текста

132
создать 2 int числа из одного float

создать 2 int числа из одного float

Необходимо создать 2 числа из одного с плавающей точкойfloat 15

149
Изменение цвета кнопки при нажатии и уменьшение размера поля ввода QLineEdit при обрамлении в Qt Creator 4.8.1 C++

Изменение цвета кнопки при нажатии и уменьшение размера поля ввода QLineEdit при обрамлении в Qt Creator 4.8.1 C++

Пытаюсь написать элементарное окно авторизации (в качестве обучения) и столкнулся со следующей проблемойИмеется определенная кнопка в cpp-файле...

166