Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.64/88: Рейтинг темы: голосов - 88, средняя оценка - 4.64
3 / 3 / 3
Регистрация: 17.02.2012
Сообщений: 92
1

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

24.05.2014, 21:02. Показов 17332. Ответов 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2014, 21:02
Ответы с готовыми решениями:

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

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

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

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

21
3 / 3 / 3
Регистрация: 17.02.2012
Сообщений: 92
25.05.2014, 16:29  [ТС] 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>";
?>
но выводит он последнюю Н-количество раз
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

1937 / 1764 / 824
Регистрация: 23.01.2014
Сообщений: 6,208
25.05.2014, 16:47 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");
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2014, 16:47

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

Перебор Многомерного массива
Уважаемые помогите перебрать многомерный массив if($qrand1){ ...

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

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


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.