Соединить значения 2-х и более массивов.

Гриша К.

Новичок
Соединить значения 2-х и более массивов.

Здравствуйте.

Передомной стоит следующая задача, которую самостоятельно решить у меня пока что не получается:
PHP:
//Есть например массив:
$array = Array(
	'1' => Array(
		'1' => 'a',
		'2' => 'b',
	),
	'2' => Array(
		'3' => 1,
		'4' => 2,
	),
);
PHP:
//В котором необходимо слить все значения $array[1] и $array[2] друг другу, например так (разделяю значения через запятую):
$array = Array(
	'1' => 'a,1',
	'2' => 'b,1',
	'3' => 'a,2',
	'4' => 'b,2',
);
С учетом того, что значений в каждом массиве ($array[1] и $array[2]) может быть разное количество - это у меня получилось сделать,
но с учетом того что еще может быть массив $array[3] и $array[4] - вот это у меня не получается сделать.

Я пользовался поиском по форуму и в google, я смотрел описание всех функци с массивами array, пробовал использовать рекурсивную функцию,
но решения я не нашел, возможно уже есть готовое решение данной задачи, или просто вы теоретически можете дать верное направление в решении задачи?
 

Sluggard

Новичок
У тебя есть три массива.
Array1:
1
2

Array2:
3
4

Array3:
5
6

Сливаем Array1 и Array2. Получаем:
1-3
2-3
1-4
2-4
(Добавили ко всем элементам сначала тройку, потом четверку)

Сливаем получившийся массив с Array3. Получаем:
1-3-5
2-3-5
1-4-5
2-4-5
1-3-6
2-3-6
1-4-6
2-4-6
(Добавили ко всем элементам сначала пятерку, потом шестерку)

Теперь идеи есть?
 

Гриша К.

Новичок
AHTIXPICT, непонял что такое skip.

Sluggard, спасибо за ответ, буду пробовать.

-~{}~ 05.04.08 22:07:

Получилось!:
PHP:
// Массив
$q = Array(
	'1' => Array(
		'1' => 'a',
		'2' => 'b',
	),
	'2' => Array(
		'10' => 1,
		'20' => 2,
	),
	'3' => Array(
		'100' => 'x',
		'200' => 'y',
	),
	'4' => Array(
		'1000' => '@',
		'2000' => '#',
	),
);

	
// Сливаем значения массива
$mass = array();
foreach($q as $key => $value)
{
	foreach($value as $key2 => $value2)
	{
		if(empty($fox))
			$mass[] = $value2;
		else
		{
			foreach($fox as $key3 => $value3)
				$mass[] .= $fox[$key3].'-'.$value2;
		}
	}
		
	$fox = $mass;
	$mass = array();
}


// Результат
Array
(
    [0] => a-1-x-@
    [1] => b-1-x-@
    [2] => a-2-x-@
    [3] => b-2-x-@
    [4] => a-1-y-@
    [5] => b-1-y-@
    [6] => a-2-y-@
    [7] => b-2-y-@
    [8] => a-1-x-#
    [9] => b-1-x-#
    [10] => a-2-x-#
    [11] => b-2-x-#
    [12] => a-1-y-#
    [13] => b-1-y-#
    [14] => a-2-y-#
    [15] => b-2-y-#
)
 
Сверху