【发布时间】:2010-01-29 15:36:36
【问题描述】:
我有一个数组列表(数量未知),我需要递归地合并它们。
那么我做了什么,创建了一个包含所有这些数组的数组并将它们传递给这个函数:
function mergeMonth($array)
{
foreach($array as $date_string => $inner_array)
{
if(isset($temp_inner_array))
{
$temp_inner_array = array_merge_recursive($temp_inner_array,$inner_array);
}
else
{
$temp_inner_array = $inner_array;
}
}
return $temp_inner_array;
}
大多数情况下,这就像我预期的那样工作,但有时我会收到此错误:
警告:array_merge_recursive(): 在第 89 行的 ... 中检测到递归
不知道为什么?
有什么想法吗?
谢谢!!
更新
结构是这样的:
Array
(
[sales] => 301.5
[cost] =>
[repairs] => 0
[esps] => 0
[margin] => 301.5
[verified] => unverified
)
然后我改为:
Array
(
[sales] => 301.5
[cost] => 0
[repairs] => 0
[esps] => 0
[margin] => 301.5
[verified] => unverified
)
这解决了问题:)
请注意,任何可以解释为什么我的更改修复它的人都会得到接受的答案!
【问题讨论】:
-
来自@PvB - “如果没有关于您放入函数的数组的信息,很难清除这些信息。您能否提供导致警告的案例示例?或描述您的结构“内部”数组。”
标签: php recursion warnings php4