Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/103: Рейтинг темы: голосов - 103, средняя оценка - 4.63
3 / 3 / 3
Регистрация: 17.02.2012
Сообщений: 94

Разбор многомерного массива json

24.05.2014, 21:02. Показов 20606. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Подскажите, пожалуйста, как реализовать разбор м.массива?

Имеется строка:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Array
(
    [word] => Array
        (
            [item] => 1
            [vars] => Array
                (
                    [0] => Array
                        (
                            [var_1] => 1
                            [var_2] => 2
                            [var_3] => 3
                                (
                                    [var_4] => 4
                                    [var_5] => 5
                                    [var_6] => 6
                                )
 
                        )
 
                )
 
        )
 
)
как разобрать все строки на отдельные переменные?

с первым вложением - понятно:

PHP
1
2
3
4
$resu = $resu->word->vars;
  for ($i = 0; $i < count($resu); $i++) {
    echo $resu[$i]->var_1,$resu[$i]->var_2; // выведет 1.1 2.2
    }
а как получить данные с второго "уровня" (var_4,var_5,var_6)?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.05.2014, 21:02
Ответы с готовыми решениями:

Разбор многомерного массива для таблицы
Доброго времени суток, помогите понять как правильно пропарсить многомерный массив для таблицы: foreach ($arrays as $array) ...

Получить переменную из многомерного JSON переданного пост запросом
Доброго времени суток! Отправляю данные методом POST через $.ajax Отправляю такой JSON массив: { &quot;hit&quot;:{ ...

Разбор JSON
Всем доброго времени суток! Столкнулся с проблемой и никак не могу ее решить... Имеется JSON ответ и если с одинаковым параметром...

21
3 / 3 / 3
Регистрация: 17.02.2012
Сообщений: 94
25.05.2014, 16:29  [ТС]
Студворк — интернет-сервис помощи студентам
Спасибо, прекрасно работает. Последний вопрос: как использовать for?

если вытащить общее кол-во записей, то можно составить

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$arr = file_get_contents("https://api.vk.com/method/wall.get?owner_id=1");
$arr = json_decode($arr, true);
$total_rec=$arr['response'][0];
echo "всего записей ".$total_rec=$arr['response'][0]."<br/><br/>"   ;
for ($i = 0; $i < $total_rec; $i++) {
 
    echo ($i + 1).". ". $arr['response'][1]['text']."<br/><br/>";
};
echo"<hr>";
echo "<pre>";
print_r($arr);
echo "</pre>";
?>
но выводит он последнюю Н-количество раз
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
25.05.2014, 16:47
Цитата Сообщение от Gish Посмотреть сообщение
но выводит он последнюю Н-количество раз
Во-первых, потому что в строке
PHP
1
echo ($i + 1).". ". $arr['response'][1]['text']."<br/><br/>";
у Вас стоит индекс 1. А должен быть переменным.
Во-вторых, число, которое выводится в первом элементе массива, показывает не то число строк, которое возвращает запрос. Данный запрос возвращает только последние 20 строк судя по всему.
PHP
1
2
3
4
5
6
7
8
<?php
$arr = file_get_contents("https://api.vk.com/method/wall.get?owner_id=1");
$arr = json_decode($arr, true);
$total_rec=count($arr['response'])-1;
echo "всего записей ".$total_rec."<br/><br/>";
for ($i = 1; $i < $total_rec; $i++)
    echo $i.". ". $arr['response'][$i]['text']."<br/><br/>";
?>
Чтобы получить следующие 20 наверное надо как то менять сам запрос передаваемый тут
PHP
1
$arr = file_get_contents("https://api.vk.com/method/wall.get?owner_id=1");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2014, 16:47
Помогаю со студенческими работами здесь

разбор JSON формата
Получаю в формате JSON, делаю var_dump(json_decode($data, true)); получаю Вопрос: как мне получить один параметр из списка JSON?...

Выбор массива из многомерного массива по ключу
$array = array( array( 'id'=&gt;'1', 'value'=&gt;'Значение 1', ), array( 'id'=&gt;'2', ...

Перебор Многомерного массива
Уважаемые помогите перебрать многомерный массив if($qrand1){ if(mysql_num_rows($qrand1)&gt;0){ $data=array(); ...

сортировка многомерного массива
подскажите пожалуйста как отсортировать многомерный массив по одному из критериев что бы все остальные элементы не потеряли привязки ...

сотировка многомерного массива
есть массив $arResult - содержащий товары. выглядит так =&gt; Array ( =&gt; 188 =&gt; 188 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru