Создание многомерного массива из двух массивов - PullRequest
0 голосов
/ 04 марта 2019

У меня есть следующие 2 массива:

 Array 1
(
    [0] => Speed
    [1] => Grade
    [2] => Speed
    [3] => Grade
    [4] => Speed
    [5] => Grade
    [6] => Grade
    [7] => Speed
    [8] => Size
)

Array 2
(
    [0] => 5200 rpm
    [1] => Red
    [2] => 7200 rpm
    [3] => Blue
    [4] => 8900 rpm
    [5] => Green
    [6] => Purple
    [7] => 10000 rpm
    [8] => Big
)

Значения совпадают друг с другом.Например: Скорость - 5200 об / мин , Сорт - Красный и т. Д.

Мне нужно сделать следующее, как показано ниже:

$collection = array( 

        "Speed" => array (
           5200 rpm,
           7200 rpm,    
           8900 rpm,
           10000 rpm
        ),

        "Grade" => array (
           Red,
           Blue,
           Green,
           Purple
        ),

        "Size" => array (
           Big
        )
     );

Необходимо создать массив для каждой метки и сохранить необходимые значения в массиве.Я попытался объединить и объединить и зацикливание.Я иду где-то не так.

Может кто-нибудь, пожалуйста, помогите мне.

Ответы [ 3 ]

0 голосов
/ 04 марта 2019

Попробуйте этот код

<code>$array_1 = array('Speed','Grade','Speed','Grade','Speed','Grade','Grade','Speed','Size');
$array_2 = array('5200 rpm','Red','7200 rpm','Blue','8900 rpm','Green','Purple','10000 rpm','Big');

foreach($array_1 as $key=>$elm){
    $finalArray[$elm][] = $array_2[$key];
}

echo("<pre>");
print_r($finalArray);
echo("
");

С помощью foreach вы можете использовать метку для создания нового многомерного массива! Это очень просто. Я надеюсь, что помог вам, длялюбые вопросы, пожалуйста, прокомментируйте

0 голосов
/ 04 марта 2019

РЕДАКТИРОВАТЬ

Я снова прочитал вопрос и вижу, что индексы одинаковы для массива 1 и массива 2

$collection = array();
foreach (array1 as $key => $value){
    $collection[$value][] = $array2[$key];
}
0 голосов
/ 04 марта 2019

Сохранить массив 1 как $description и массив 2 как $value.

Вам необходимо получить значения массивов обоих массивов, используя:

$description = array_values($description);

И затем вы можетеuse array_combine.

$combined = array_combine($description, $value);

Related (для значений массива) Преобразовать ассоциативный массив в простой массив его значений в php

PHP Docs для array_combine здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...