-1

PHPで特定の方法でマージしたい2つの配列があります。だから私は私が試みて失敗したのでそれを手伝ってくれるあなたの助けが必要です。

だから私は2つの配列を持っていると言います:

$array1= array(
    "foo"        => 3,
    "bar"        => 2,
    "random1"    => 4,
);

$array2= array(
    "random2"    => 3,
    "random3"    => 4,
    "foo"        => 6,
);

ここで、マージ中に共通キーの値を追加したいと思います。したがって、fooがarray1array2に存在するように、array1をarray 2とマージすると、次のようになります。"foo" => "9"

より良い例は、次のような最終的な配列になります。

$array1= array(
    "foo"        => 9,
    "bar"        => 2,
    "random1"    => 4,
    "random2"    => 3,
    "random3"    => 4,
);

したがって、共通キーの値を一緒に追加し、非共通キーを配列または新しい配列に追加したいと思います。

私は十分に明確だったと思います

ありがとう、Vidhu

4

2 に答える 2

1
 foreach($array1 as $k => $v)
 {
     If (isset($array2[$k]))
         $array1[$k] += $array2[$k];
 }
 foreach($array2 as $k => $v)
 {
     If (!isset($array1[$k]))
         $array1[$k] = $array2[$k];
 }
于 2012-12-12T22:55:04.317 に答える
1

そんな感じ:

function mergeValues() {
    $result = array();
    $arraysToMerge = func_get_args();
    foreach ($arraysToMerge as $array) {
       foreach($array as $key => $value) {
           $result[$key] += $value;
       }
    }

    return $result;
}

$res = mergeValues($array1, $array2, $array3); // Can pass any ammount of arrays to a function.
于 2012-12-12T22:58:11.580 に答える