За последние 24 часа нас посетили 22852 программиста и 1227 роботов. Сейчас ищут 695 программистов ...

Массив JSON

Тема в разделе "PHP для новичков", создана пользователем q0b3rMAN, 22 авг 2020.

  1. q0b3rMAN

    q0b3rMAN Активный пользователь

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Здравствуйте! Сломал голову уже себе! Пожалуйста, помогите
    Есть JSON массив, я его декодирую

    Получается такой многомерный PHP массив:
    array
    ___"key1":value1,
    ___"key2":value2,

    ___"key3": array
    ___"key_1":value_1
    ___"key_2":value_3

    ______"key_3":array
    _________"key__1":value__1
    _________"key__2":value__2
    _________"key__3":value__3

    Я хочу вывести значение ключа "key__3". Скажите как? Как обратиться в коде к этому элементу?
    Заранее спасибо!
     
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @q0b3rMAN, лучше var_dump() массива покажи. Или в песочнице напиши.
    По отступам не всё однозначно.
     
  3. q0b3rMAN

    q0b3rMAN Активный пользователь

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Он очень большой!
     

    Вложения:

  4. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    PHP:
    1. $array['key3']['key3'];
     
  5. q0b3rMAN

    q0b3rMAN Активный пользователь

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    echo $array['key'][3]['key3'];
    Выводит то, что мне нужно! НО где цифра 3, это я так понимаю строка, там строчки в массиве...как мне вывести данные всех строк?
    --- Добавлено ---
    upload_2020-8-23_1-5-10.png
     
  6. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
  7. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @q0b3rMAN, вот например:
    PHP:
    1. // $str - исходная json-строка
    2. $arr = json_decode($str, true);
    3. var_dump($arr['Success'], $arr['Value'][0]['AE'][0]["G"]);
    4. print_r($arr);
    Остальное - по аналогии
    --- Добавлено ---
    Обойти массив "Value" и вложенные, если нужно :)
     
  8. q0b3rMAN

    q0b3rMAN Активный пользователь

    С нами с:
    11 июн 2011
    Сообщения:
    142
    Симпатии:
    0
    Я пробовал через цикл. У меня не получается.
    --- Добавлено ---
    Выводит NULL NULL. Я поставлю немного по другому вопрос, как мне вывести все все значения, например в ключе CN - есть страны, я хочу вывести все страны из всего массива
    echo $arr['Value'][0]['CN']; - выведет мне страну из первой строки. Как мне циклом вывести все записи, не знаю номера строк?
    --- Добавлено ---
    Всем спасибо! Я разобрался

    PHP:
    1. $arr = json_decode($file, true);
    2.  
    3. $count = count($arr['Value']);
    4.  
    5. for ($i = 1; $i <= $count; $i++) {
    6.     echo $arr['Value'][$i]['CN'];
    7.     echo '<br/>';
    8. }