我正在使用多卷曲下载多个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?我觉得这是一个非常简单的代码更改,但我尝试过的所有更改都无效。
答案 0 :(得分:0)
当您使用$mergedArray = array_merge($firstArray, $secondArray)
时,两个阵列合并为一个,并可通过$mergedArray
访问。请注意,array_keys将重新编号。
答案 1 :(得分:0)
p
期望一个字符串作为其输入。如果你改为给它一个数组,它不知道该怎么做。您只需循环并分别对阵列中的每个字符串调用json_decode
。这种操作的速记包装是一个数组映射:
json_decode
虽然如果你想传递其他参数,但它必须是:
$resultsall = array_map('json_decode', $res);