我有嵌套数组,并希望在键匹配时将一个数组的内容追加到另一个数组中。这是我的功能,但不是附加它正在替换。
function MergeArrays($arr, $ins)
{
if(is_array($arr))
{
if(is_array($ins))
foreach($ins as $k=>$v)
{
if(isset($arr[$k])&&is_array($v)&&is_array($arr[$k]))
{
$arr[$k] = MergeArrays($arr[$k], $v);
}
else
{
// This is the new loop :)
// while (isset($arr[$k]))
// $k++;
// HERE IS WHERE I WANT TO APPEND INSTEAD OF ADD
$arr[$k] = $v;
}
}
}
else if(!is_array($arr)&&(strlen($arr)==0||$arr==0))
{
$arr=$ins;
}
return($arr);
}
有什么建议吗?
由于
答案 0 :(得分:0)
您可以通过将数组添加到一起来合并条目,或使用array_merge
将数组合并为一个新数组。
您是否因为没有自定义代码而未使用array_merge_recursive
来解决此问题?
答案 1 :(得分:0)
我不确定我是否正确地阅读了这个问题,我对你正在做的事情感到有些困惑,但这可能有所帮助:
据我所知,你想要附加值为$ v的$ arr [k]的值。因此,你想把这些东西连在一起。
因此,您希望在评论下方的行上使用。=而不是=。