Работа с многомерными массивами из JSON / RPC API в PHP - PullRequest
0 голосов
/ 22 августа 2011

Я работаю с некоторыми API на основе JSON в стиле RPC и получаю эти многомерные массивы после взаимодействия с API с помощью некоторых оболочек PHP:

Array
  (
  [ok] => 1
  [taskgroup] => Array
      (
        [task_1] => Array
            (
                [id] => task_1
                [name] => Task 1
                [url] => /tasks/1/
                [description] => Lorem ipsum dolor sit amet...
                [img] => http://example.net/mypic1442421.png
                [related_tasks] => Array
                    (
                        [0] => task_18
                    )
            )

        [task_2] => Array
            (
                [id] => task_2
                [name] => Task 2
                [url] => /tasks/2/
                [description] => Lorem ipsum dolor sit amet...
                [img] => http://example.net/mypic1442421.png
                [related_tasks] => Array
                    (
                        [0] => task_9
                        [1] => task_23
                    )
            )
     )
)

У меня вопрос, как мне поступитьчерез этот многомерный массив?Существуют ли какие-либо связанные методы для этого вида ответов массива md?Конкретнее - взять пример, который может пролить свет на эту вещь - как я могу напечатать список всех изображений и URL, например taskArray[][task_n][img] - taskArray[][task_n][url]?--task_n может быть любым непоследовательным буквенно-цифровым значением

Я попробовал некоторые рекурсивные методы, которые я нашел здесь, но без удачи, извините, если я снова спрашиваю о том же.И извините за n00bness.

1 Ответ

0 голосов
/ 22 августа 2011

Как правило, этот массив обрабатывается с кодом, похожим на этот:

if (!empty($apiResult['OK']) && !empty($apiResult['taskgroup'])) {
    foreach ($apiResult['taskGroup'] as $taskId => $task) {
        $id = $task['id'];
        $img = $task['img'];
        $url = $task['url'];
        printf("Image: %s, URL: %s\n", $img, $url);
        // do some stuff
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...