Merge two arrays

Asked

Viewed 75 times

3

I have the arrays:

$tamanho = ['P', 'M', 'G'];
$quantidade = [1, 3, 5];

The end result would have to stay that way:

$final = [
            ["tamanho" => 'P', "quantidade" => 1],
            ["tamanho" => 'M', "quantidade" => 3],
            ["tamanho" => 'G', "quantidade" => 5]
        ];

I thought I’d use the array_merge, but he returns it to me:

{"P":"1","M":"3","G":5}

And I need the "size" and "quantity" indexes, because I’m going to use a foreach to enter this data into the database, then I need to specify the type of data.

1 answer

5


Can use array_map() to match the values of the arrays $tamanho and $quantidade in a new with the desired indices:

$tamanho = ['P', 'M', 'G'];
$quantidade = [1, 3, 5];

$novo = array_map(function($t, $q){return array('quantidade' => $q, 'tamanho' => $t); }, $tamanho, $quantidade);

Exit:

Array
(
    [0] => Array
        (
            [quantidade] => 1
            [tamanho] => P
        )

    [1] => Array
        (
            [quantidade] => 3
            [tamanho] => M
        )

    [2] => Array
        (
            [quantidade] => 5
            [tamanho] => G
        )

)

Browser other questions tagged

You are not signed in. Login or sign up in order to post.