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

Тема в разделе "Как сделать...", создана пользователем SimonSmith, 29 фев 2012.

  1. SimonSmith

    SimonSmith Постоялец

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

    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].......];

    как можно эффективно сконструировать алгоритм сортировки такого вида?
     
  2. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    PHP:
    for(......){// каким либо циклом перебираем все массивы
    x[]=a//x[]=b; и т.д.
    }
     
  3. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    так сортировки или объединения? данные после объединения в кучу = [[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];
    ?
     
  4. Anu

    Anu Постоялец

    Регистр.:
    19 окт 2007
    Сообщения:
    137
    Симпатии:
    13
    не совсем понятен принцип объединения, как из исходных массивов получилось подобное после объединения?
    если все же объединение нужно:
    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
    )
    */
     
  5. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    ТС в итоге нужно получить многомерный массив из нескольких простых массивов...
     
  6. SimonSmith

    SimonSmith Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    147
    Симпатии:
    32
    [1ый элемент 1го массива, 1ый элемент 2го массива, 1ый элемент 3го массива], [1ый элемент 1ого массива, 1ый элемент 2го массива, 2ой элемент 3го массива], [1ый элемент 1ого массива, 1ый элемент 2го массива, 3ий элемент 3го массив] вот такая вот каша ...
     
  7. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    o_O если не секрет, это где такое применяется???
    с таким условием будет совсем туго... Прийдется все уж очень зациклить....:confused:
     
  8. SimonSmith

    SimonSmith Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    147
    Симпатии:
    32
    PHP:
    $arr = array();
                    
    $m 0;
                    if(
    count($a) <= 0array_push($anull);
                    if(
    count($b) <= 0array_push($bnull);
                    if(
    count($c) <= 0array_push($cnull);
                    if(
    count($d) <= 0array_push($dnull);
                    .......................................
                   
                    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, сказать не могу
     
  9. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    это как я понял ответ и задача решена?
     
  10. SimonSmith

    SimonSmith Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    147
    Симпатии:
    32
    это как бы один из извращенных вариантов. Если есть что-то оптимальнее, прошу написать