在PHP中使用JSON/RPC API中的多维数组

在PHP中使用JSON/RPC API中的多维数组,php,api,multidimensional-array,Php,Api,Multidimensional Array,我正在使用一些RPC风格的基于JSON的API,在通过一些PHP包装器与API交互后,我得到了这个多维数组: Array ( [ok] => 1 [taskgroup] => Array ( [task_1] => Array ( [id] => task_1 [name] => Task 1 [url] =

我正在使用一些RPC风格的基于JSON的API,在通过一些PHP包装器与API交互后,我得到了这个多维数组:

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]
--任务可以是任何非顺序字母数字值


我尝试了一些我在这里找到的递归方法,但是运气不好,如果我再次问同样的问题,请原谅。请原谅n00bness。

通常,该数组将使用如下代码进行处理:

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
    }
}

请查看手册和结构。谢谢!这完全有道理。。在任何情况下,我都可以创建一个函数——创建一个子集数组——像这样<代码>函数imgList($apireult){$newArray=array();$i=0;if(!empty($apireult['OK'])和&!empty($apireult['taskgroup']){foreach($apireult['taskgroup']as$taskId=>$task){$newArray[$i][id]=$task['id'];$newArray[$i][img]=$task['img'];$newArray[$i][url]=$task['url'];$i++;}return$newArray;}否则{return$response=“nada”;}调试注释中的函数很困难,但是是的,您可以这样做。它工作得完美无缺!谢谢你简洁的解释,我快淹死在一杯水里了+