Май 15
Небольшой кусок кода реализующий слияние двух массивов с арифметическим сложением значений с одним ключем. Работа схожа с функцией array_merge, которая при одинаковых нецифровых ключах оставляет только одно значение.
$array1=array('number1'=>5, 'number2'=>10);
$array2=array('number1'=>3, 'number3'=>20);
foreach ($array2 as $c=>$n){
if (isset($array1[$c]))
$array1[$c]+=$n;
else
$array1[$c]=$n;
}
Результатом работы будет являться массив (‘number1′=>8, ‘number2′=>10, ‘number3′=>20).

Решил на перле изобразить, так просто.
#!/usr/bin/perl -w
%hash1 = (‘number1′=>5,’number2′=>10);
%hash2 = (‘number1′=>3,’number3′=>20);
while ( ($key,$val) = each %hash2 ) {
$hash1{$key} = $hash1{$key} ? $hash1{$key} + $val : $val;
}
а вот как бы такой же, только со слиянием массивов с тексовыми полями или вообще любыми mixed?
Андрей, в таких случаях можно стандартную функцию array_merge использовать.