Объединение массивов

SimonSmith

Мастер
Регистрация
25 Сен 2008
Сообщения
148
Реакции
34
Добрый день,
встала задача объединить все элементы всех массивов.
пример:

a = [1,2,3,4];
b = [4,2,5];
c = [2,3,4];
...
(строиться неопределенное количество массивов и неопределенное количество элементов)

результат:
x = [[1,4,2],[1,4,3],[1,4,4],[1,2,2],[1,2,3][1,2,4],[1,5,2][1,5,3],[1,5,4],[2,4,2].......];

как можно эффективно сконструировать алгоритм сортировки такого вида?
 
PHP:
for(......){// каким либо циклом перебираем все массивы
x[]=a; //x[]=b; и т.д.
}
 
алгоритм сортировки такого вида

так сортировки или объединения? данные после объединения в кучу = [[1,4,2],[1,4,3],[1,4,4],[1,2,2],[1,2,3][1,2,4],[1,5,2][1,5,3],[1,5,4],[2,4,2].......]; должны идти в каком то особом порядке а то непонятно как это получилось из начальных
a = [1,2,3,4];
b = [4,2,5];
c = [2,3,4];
?
 
не совсем понятен принцип объединения, как из исходных массивов получилось подобное после объединения?
если все же объединение нужно:
PHP:
$arr1 = array(1,2,3);
$arr2 = array(4,5,6);
$arr3 = array_merge($arr1,$arr2);
/*
на выходе
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
*/
 
не совсем понятен принцип объединения, как из исходных массивов получилось подобное после объединения? если все же объединение нужно:
ТС в итоге нужно получить многомерный массив из нескольких простых массивов...
 
[1ый элемент 1го массива, 1ый элемент 2го массива, 1ый элемент 3го массива], [1ый элемент 1ого массива, 1ый элемент 2го массива, 2ой элемент 3го массива], [1ый элемент 1ого массива, 1ый элемент 2го массива, 3ий элемент 3го массив] вот такая вот каша ...
 
[1ый элемент 1го массива, 1ый элемент 2го массива, 1ый элемент 3го массива], [1ый элемент 1ого массива, 1ый элемент 2го массива, 2ой элемент 3го массива], [1ый элемент 1ого массива, 1ый элемент 2го массива, 3ий элемент 3го массив] вот такая вот каша ...

o_O если не секрет, это где такое применяется???
(строиться неопределенное количество массивов и неопределенное количество элементов)
с таким условием будет совсем туго... Прийдется все уж очень зациклить....:confused:
 
PHP:
$arr = array();
                $m = 0;
                if(count($a) <= 0) array_push($a, null);
                if(count($b) <= 0) array_push($b, null);
                if(count($c) <= 0) array_push($c, null);
                if(count($d) <= 0) array_push($d, null);
                .......................................
               
                for($i = 0;$i < count($a); $i++){
                        for($j = 0; $j < count($b); $j++){
                                for($k = 0; $k < count($c); $k++){
                                        for($l = 0; $l < count($d); $l++){
                                            .........................................{
                                                  $arr[$m]['a'] = $a[$i];
                                                  $arr[$m]['b'] = $b[$j];
                                                  $arr[$m]['c'] = $c[$k];
                                                  $arr[$m]['d'] = $d[$l];
                                                  ....................................
                                                  $m++;
                                            ......}
                                        }
                                }
                        }
                }

но это полная порнография ...

dino, сказать не могу
 
Назад
Сверху