Search code examples
phparraysmultidimensional-arrayarray-merge

In php how to assign specific array key to main array key?


I am getting this result after merge two arrays:

Array
(
    [0] => Array
        (
            [id] => 36
            [banners] => Array
                (
                    [0] => 142606425210.jpg
                    [1] => 142606425209.jpg
                )

        )

    [1] => Array
        (
            [id] => 40
            [banners] => Array
                (
                    [0] => 142606425209.jpg
                    [1] => 142606425311.jpg
                )

        )

)

Now what If I want to assign [id] key to main array key like this way:

Array
(
    [36] => Array
        (
            [id] => 36
            [banners] => Array
                (
                    [0] => 142606425210.jpg
                    [1] => 142606425209.jpg
                )

        )

    [40] => Array
        (
            [id] => 40
            [banners] => Array
                (
                    [0] => 142606425209.jpg
                    [1] => 142606425311.jpg
                )

        )

)

Any Idea how to do this?

Thanks.


Solution

  • Following will work,

    foreach($array as $key => $value){
        $array[$value["id"]] = $array[$key];
        unset($array[$key]);
    }
    

    Side Note: I presume id here will be unique for each record.