Merge two arrays

3

I have the arrays :

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

The end result would have to look like this:

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

I thought about using array_merge , but it returns me this:

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

And I need the "size" and "quantity" indexes, as I will use a foreach to insert this data into the database, so I need to specify the data type.

    
asked by anonymous 28.02.2018 / 17:49

1 answer

5

You can use array_map() to combine the values of the $tamanho and $quantidade arrays into a new one with the desired indexes:

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

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

Output:

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

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

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

)
    
28.02.2018 / 18:12