Как объединить два массива вместе? - PullRequest
7 голосов
/ 24 марта 2011

Существует ли быстрый способ объединения значений одного массива в качестве ключей другого массива?

Ввод:

array A => Array (
        [0] => "cat"
        [1] => "bat"
        [2] => "hat"
        [3] => "mat"
    )

array B => Array (
        [0] => "fur"
        [1] => "ball"
        [2] => "clothes"
        [3] => "home"
    )

Ожидаемый результат:

array C => Array (
        [cat] => "fur"
        [bat] => "ball"
        [hat] => "clothes"
        [mat] => "home"
    )

Как можноЯ так делаю?

Ответы [ 3 ]

21 голосов
/ 24 марта 2011

array_combine() точно сделает то, что вы хотите.

Цитирование руководства:

array array_combine ( array $keys , array $values )

Создает массивиспользуя значения из массива ключей в качестве ключей и значения из массива значений в качестве соответствующих значений.

В вашем случае вам придется сделать что-то вроде этого:

$array['C'] = array_combine($array['A'], $array['B']);

Хотя, конечно, для этого вы также можете использовать различные комбинации циклов, array_combine(), вероятно, самое простое решение.

2 голосов
/ 24 марта 2011

Вы можете сделать это просто с помощью array_combine:

// First parameter will be used as the keys, the second for the values
$new_array = array_combine($keys_array, $values_array);
1 голос
/ 24 марта 2011

Попробуйте это: array_combine($a, $b);

...