Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация
Регистрация Тесты Блоги Сообщество Поиск
 
 
Gish
2 / 2 / 1
Регистрация: 17.02.2012
Сообщений: 89
24.05.2014, 21:02     Разбор многомерного массива json #1
Доброго времени суток. Подскажите, пожалуйста, как реализовать разбор м.массива?

Имеется строка:
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)?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2014, 21:02     Разбор многомерного массива json
Посмотрите здесь:

PHP Сортировка многомерного массива.
сортировка многомерного массива PHP
PHP Генерация многомерного массива
PHP Сортировка многомерного массива
PHP разбор JSON формата
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gish
2 / 2 / 1
Регистрация: 17.02.2012
Сообщений: 89
25.05.2014, 16:29  [ТС]     Разбор многомерного массива json #21
Спасибо, прекрасно работает. Последний вопрос: как использовать 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>";
?>
но выводит он последнюю Н-количество раз
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2014, 16:47     Разбор многомерного массива json
Еще ссылки по теме:

Сортировка многомерного массива PHP
Сортировка многомерного массива PHP
Перемешивания многомерного массива PHP

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

Или воспользуйтесь поиском по форуму:
pav1uxa
1643 / 1483 / 574
Регистрация: 23.01.2014
Сообщений: 5,314
Завершенные тесты: 1
25.05.2014, 16:47     Разбор многомерного массива json #22
Цитата Сообщение от 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");
Yandex
Объявления
25.05.2014, 16:47     Разбор многомерного массива json
Ответ Создать тему
Текущее время: 18:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru