PHP数组结合并求和未定义的数组深度

时间:2013-11-07 09:42:37

标签: php

我需要通过对匹配键的值进行求和来合并两个未定义维度的数组(如果不匹配,则需要>追加)。

以下示例以JSON的形式给出,但它已经转换为数组:

JSON 1:

{
  "profile_id": "1011:profile",
  "data":{
    "xp":50,
    "bananas":10
  }
}

JSON 2:

{
  "data":{
    "bananas":20,
    "xp":200,
    "cars":3
  }
}

组合:

{
  "data":{
    "xp":250,
    "bananas":30,
    "cars":3
  }
}

但是上面的例子没有修复,我可以将“xp”字段作为子子键。 更好的说,我需要对所有重叠键求和,并将所有非重叠键(合并)附加到数组,而不需要固定的数组深度。就像array_merge()一样,如果重叠则为sum。此外,键的顺序是未定义的。

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试使用array_merge()http://us1.php.net/array_merge

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

输出:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)