user2715615
user2715615

Reputation: 101

Merge 2 arrays into one array with same keys

I want to merge the filename into same key.Below are the two arrays, i tried to use array_merge but it is not merging into same keys

Array
(
    [0] => Array
        (
            [episode_id] => 2
            [episode_number] => 1
            [series] => 2012
        )

    [1] => Array
        (
            [episode_id] => 2
            [episode_number] => 2
            [series] => 2013
        )

)
Array
(
    [0] => Array
        (
            [filename] => Enq9nNGnMFY
        )

    [1] => Array
        (
            [filename] => Enq9nsdfdsNGnMFY
        )

)

The expected output should be

Array
(
    [0] => Array
        (
            [episode_id] => 2
            [episode_number] => 1
            [series] => 2012
            [filename] => Enq9nNGnMFY
        )

    [1] => Array
        (
            [episode_id] => 2
            [episode_number] => 2
            [series] => 2013
            [filename] => Enq9nsdfdsNGnMFY
        )

)

Can anyone help with this !!!!!!!!!!

Upvotes: 0

Views: 826

Answers (3)

Anand Solanki
Anand Solanki

Reputation: 3425

Try this:

<?php
        $array_1 = Array
            (Array('episode_id' => 2, 'episode_number' => 1, 'series' => 2012),
            Array('episode_id' => 2, 'episode_number' => 2, 'series' => 2013)
        );

        $array_2 = Array(Array('filename' => 'Enq9nNGnMFY'), Array('filename' => 'Enq9nsdfdsNGnMFY'));

        foreach ($array_1 as $key => $value) {
            foreach ($array_2[$key] as $key2 => $value2) {
                $array_1[$key][$key2] = $value2;
            }
        }



        echo '<pre>';
        print_r($array_1);
        ?>

First array is result what you want

Upvotes: 0

AxelPAL
AxelPAL

Reputation: 1027

foreach ($first_array as $key => $item){
$second_array[$key] = array_merge($second_array[$key],$item);
}

Second array will include what you wanted.

Upvotes: 1

stuartb
stuartb

Reputation: 364

Try this:

foreach($array_1 as $key => $value){
    foreach($array_2[$key] as $key2 => $value2){
        array_push($array_1[$key], $value2);
    }
}

$array_1 should then be you're combined array, even if you have more than just filename.

Upvotes: 0

Related Questions