jednoduše přes foreach...
<?php
$a = '2:2,4:15,3:2,20:1';
$b = '1:1,3:4,2:1,20:5';
$aa = string2array($a);
$ab = string2array($;
$slouceni = array();
foreach($aa as $key => $val) {
$slouceni[$key] = $val;
if(isset($ab[$key]))
$slouceni[$key] += $ab[$key];
}
foreach($ab as $key => $val) {
if(!isset($slouceni[$key]))
$slouceni[$key] = $val;
}
ksort($slouceni); // seřazení klíčů od nejnižšího po nejvyšší
function string2array($string) {
$expl = explode(',', $string);
$arr = array();
foreach($expl as $ex) {
$tmp = explode(':', $ex);
$arr[$tmp[0]] = $tmp[1];
}
return $arr;
}