我有两个数组,我想在php中以特定方式合并。 所以,当我尝试并失败时,我需要你的帮助来帮助我。
所以说我有两个阵列:
$array1= array(
"foo" => 3,
"bar" => 2,
"random1" => 4,
);
$array2= array(
"random2" => 3,
"random3" => 4,
"foo" => 6,
);
现在,在合并期间,我希望添加公共密钥的值。
就像 foo 存在于 array1 和 array2 中一样,所以当将array1与数组2合并时,我应该得到"foo" => "9"
我更好的插图将是最终的数组,如下所示:
$array1= array(
"foo" => 9,
"bar" => 2,
"random1" => 4,
"random2" => 3,
"random3" => 4,
);
所以我希望将公共密钥的值加在一起,将非公共密钥添加到数组或新数组中
我希望我足够清楚
谢谢, Vidhu
答案 0 :(得分: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];
}
答案 1 :(得分: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.