如何将多个数组json_decode放在一起?

时间:2015-09-25 09:19:49

标签: php php-5.5

我正在使用多卷曲下载多个URL并使用foreach循环解析它们。以下是这些响应的结构(print_r结果):

 WITH TEMPTABLE AS
 select * from EMP where 
                (DeptID + ManagerID) IN ( sumID1 , sumID2.....)
 select * from TEMPTABLE where ManagerID = Mid1
                        AND DeptID = deptid;

考虑到所有响应都具有相同或几乎相同的结构,我想将所有响应一起处理。或者,更好的是,选择要一起处理的那些(例如,可以将数组1-2和3-5组合在一起)。

在这种情况下,我需要使用str_replace更改一些单词(适用于此代码),然后json_decode它并使用foreach循环解析所有内容。不幸的是,似乎json_decode不能以这种方式工作,并且我没有得到foreach循环的任何结果。如果我以Array( [0] => { "Animals": [{ "Number": 1, "AnimalName": Lion }], "Continents": [{ "ContinentName": Africa }] } [1] => { "Animals": [{ "Number": 1, "AnimalName": Tiger }], "Continents": [{ "ContinentName": Africa }] } [2] => { "Animals": [{ "Number": 1, "AnimalName": Leopard }], "Continents": [{ "ContinentName": Africa }] } ) 的形式添加数组的数字,则会显示结果。这是完整的代码:

json_decode($res[0], true);

有没有办法一次完成所有json_decoding?我觉得这是一个非常简单的代码更改,但我尝试过的所有更改都无效。

2 个答案:

答案 0 :(得分:0)

当您使用$mergedArray = array_merge($firstArray, $secondArray)时,两个阵列合并为一个,并可通过$mergedArray访问。请注意,array_keys将重新编号。

答案 1 :(得分:0)

p期望一个字符串作为其输入。如果你改为给它一个数组,它不知道该怎么做。您只需循环并分别对阵列中的每个字符串调用json_decode。这种操作的速记包装是一个数组映射:

json_decode

虽然如果你想传递其他参数,但它必须是:

$resultsall = array_map('json_decode', $res);