在PHP中使用JSON/RPC API中的多维数组
我正在使用一些RPC风格的基于JSON的API,在通过一些PHP包装器与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] =
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”;}调试注释中的函数很困难,但是是的,您可以这样做。它工作得完美无缺!谢谢你简洁的解释,我快淹死在一杯水里了+