За последние 24 часа нас посетили 42558 программистов и 1813 роботов. Сейчас ищут 2188 программистов ...

как слить массивы

Тема в разделе "PHP для новичков", создана пользователем 7vano7, 21 ноя 2017.

  1. 7vano7

    7vano7 Новичок

    С нами с:
    28 май 2017
    Сообщения:
    19
    Симпатии:
    3
    Добрый день! помогите слить массивы

    PHP:
    1. [OrderElement] => Array
    2.         (
    3.             [name] => Array
    4.                 (
    5.                     [0] => test1
    6.                     [1] => teast2
    7.                     [2] => trest3
    8.                     [3] =>
    9.                     [4] =>
    10.                     [5] =>
    11.                     [6] =>
    12.                     [7] =>
    13.                     [8] =>
    14.                     [9] =>
    15.                 )
    16.  
    17.             [nomenclature_id] => Array
    18.                 (
    19.                     [0] => 1
    20.                     [1] => 1
    21.                     [2] => 1
    22.                     [3] =>
    23.                     [4] =>
    24.                     [5] =>
    25.                     [6] =>
    26.                     [7] =>
    27.                     [8] =>
    28.                     [9] =>
    29.                 )
    30.  
    31.             [nom_group_id] => Array
    32.                 (
    33.                     [0] => 1
    34.                     [1] => 1
    35.                     [2] => 2
    36.                     [3] =>
    37.                     [4] =>
    38.                     [5] =>
    39.                     [6] =>
    40.                     [7] =>
    41.                     [8] =>
    42.                     [9] =>
    43.                 )
    44.  
    45.             [count] => Array
    46.                 (
    47.                     [0] => 1
    48.                     [1] => 1
    49.                     [2] => 1
    50.                     [3] =>
    51.                     [4] =>
    52.                     [5] =>
    53.                     [6] =>
    54.                     [7] =>
    55.                     [8] =>
    56.                     [9] =>
    57.                 )
    58.  
    59.             [cost] => Array
    60.                 (
    61.                     [0] => 1000
    62.                     [1] => 1000
    63.                     [2] => 500
    64.                     [3] =>
    65.                     [4] =>
    66.                     [5] =>
    67.                     [6] =>
    68.                     [7] =>
    69.                     [8] =>
    70.                     [9] =>
    71.                 )
    72.  
    73.             [department_id] => Array
    74.                 (
    75.                     [0] => 3
    76.                     [1] => 25
    77.                     [2] => 23
    78.                     [3] =>
    79.                     [4] =>
    80.                     [5] =>
    81.                     [6] =>
    82.                     [7] =>
    83.                     [8] =>
    84.                     [9] =>
    85.                 )
    86.  
    87.             [article_id] => Array
    88.                 (
    89.                     [0] => 1
    90.                     [1] => 1
    91.                     [2] => 1
    92.                     [3] =>
    93.                     [4] =>
    94.                     [5] =>
    95.                     [6] =>
    96.                     [7] =>
    97.                     [8] =>
    98.                     [9] =>
    99.                 )
    100.  
    101.             [pay_metod] => Array
    102.                 (
    103.                     [0] => 10
    104.                     [1] => 10
    105.                     [2] => 9
    106.                     [3] =>
    107.                     [4] =>
    108.                     [5] =>
    109.                     [6] =>
    110.                     [7] =>
    111.                     [8] =>
    112.                     [9] =>
    113.                 )
    114.  
    115.         )
    мне нужен массив такого вида
    PHP:
    1. $array =
    2. [
    3. [0] = [
    4.               ['name'] = sefst,
    5.               ['nomenclature_id] = etye,
    6.              .....
    7.         ],
    8. [1] = [...]
    9. ]
    как это сделать?
     
  2. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    ты имеешь ввиду по два ключа того большого массива в новом массиве? и что это "sefst" и "etye"
     
  3. 7vano7

    7vano7 Новичок

    С нами с:
    28 май 2017
    Сообщения:
    19
    Симпатии:
    3
    "sefst" и "etye" - значения (для примера набор символов написал),
    а ключей должно быть сколько в бюльшом массиве (в данном случае $array должен иметь 3 ключа ("0", "1", "2") по 8 ключей в каждом ('name', 'nomenclature_id'...)
     
  4. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    почитай тут, может поможет
     
  5. 7vano7

    7vano7 Новичок

    С нами с:
    28 май 2017
    Сообщения:
    19
    Симпатии:
    3
    нет, но то...
    я когда то на php.net видел нужный код буквально на 3 строчки, сейчас найти не могу...
     
  6. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    почитай эту тему, там суперстар описывает слияние, которое тебе нужно
     
  7. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    PHP:
    1. $OrderElement = [
    2.         'name' => [
    3.             '0' => 1,
    4.             '1' => 1,
    5.             '2' => 1,
    6.             '3' => '',
    7.             '4' => '',
    8.             '5' => '',
    9.             '6' => '',
    10.             '7' => '',
    11.             '8' => '',
    12.             '9' => '',
    13.    
    14.        ],
    15.     'nomenclature_id' => [
    16.             '0' => 1,
    17.             '1' => 1,
    18.             '2' => 1,
    19.             '3' => '',
    20.             '4' => '',
    21.             '5' => '',
    22.             '6' => '',
    23.             '7' => '',
    24.             '8' => '',
    25.             '9' => '',
    26.        ],
    27.     'nom_group_id' => [
    28.             '0' => 1,
    29.             '1' => 1,
    30.             '2' => 1,
    31.             '3' => '',
    32.             '4' => '',
    33.             '5' => '',
    34.             '6' => '',
    35.             '7' => '',
    36.             '8' => '',
    37.             '9' => '',
    38.        ],
    39.     'cost' => [
    40.             '0' => 1,
    41.             '1' => 1,
    42.             '2' => 1,
    43.             '3' => '',
    44.             '4' => '',
    45.             '5' => '',
    46.             '6' => '',
    47.             '7' => '',
    48.             '8' => '',
    49.             '9' => '',
    50.        ],
    51.     ];
    PHP:
    1. $a = 0;
    2. for($i = 0; $i < count($OrderElement['name']); $i++){
    3.     if(!empty($OrderElement['name'][$i])){
    4.         $a++;
    5.     }
    6. }
    7.  
    8. $mass = [];
    9. for($i = 0; $i < $a; $i++){
    10.     foreach($OrderElement as $key=>$val){
    11.         $mass[$i][$key] = 1;
    12.     }
    13. }
    набросал по быстрому
    у меня работает
     
    7vano7 нравится это.
  8. 7vano7

    7vano7 Новичок

    С нами с:
    28 май 2017
    Сообщения:
    19
    Симпатии:
    3
    спасибо огромное, работает)) и тема то что нужно))
     
  9. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Вместо спасибо лайк ставь!
     
    7vano7 нравится это.