Объединение массивов с совпадающими индексами

WebByte

Проходящий мимо
Объединение массивов с совпадающими индексами

Предположим есть массивы
PHP:
$a = array(
   index=>1
);

$b = array(
   index=>2
);
Нужна их сумма в таком виде:
PHP:
$с = array(
   index=>array(1, 2)
);
ни $a + $b, ни array_merge($a, $b) такой результат не дадут.
Существует ли функция, который этот результат даст?
Или надо писать свою?

В общем случае массивы $a и $b - N-мерные, но размерность их совпадает.
 

WebByte

Проходящий мимо
Profic, аналогично array_merge()


Фанат, угу. Так, в общем и думал. Спасибо. Хотя мануал на всякий случай читаю.
 

wils0n

Guest
не много не то, что надо, но мало ли может полезно будет.
посмотри функцию
array_combine()
Правда это толко в php5
 

WebByte

Проходящий мимо
Если интерсно, то вот решение.
PHP:
#
#
#  $tree - дерево, 
#  $index - индексы узлов дерева, начиная от родительского узла для ветки.
# $value - значение, которое надо добавить

function AddToTree(&$tree, $index, $value){
	$size = sizeof($index);
	if ($size==1) {
		if (!$tree) {
			$tree[$index[0]][0] = $value;
		}else{
			$treeSize = sizeof($tree[$index[0]]);
			$tree[$index[0]][$treeSize] = $value;
		}
	}
	else {
		$tree[$index[0]] = AddToTree($tree[$index[0]], array_slice($index, 1), $value);
	}
	return $tree;
}
 
Сверху