How can merge 3 arrays into a single associative array in PHP

arrays, associative-array, php

Solution

function mergeArrays($filenames, $titles, $descriptions) {
    $result = array();

    foreach ( $filenames as $key=>$name ) {
        $result[] = array( 'filename' => $name, 'title' => $titles[$key], 'descriptions' => $descriptions[ $key ] );
    }

    return $result;
}

Just make sure you pass valid input to the function, or add some extra checking. Is that what you're looking for?

Problem

I have 3 arrays, just 7 elements in them each. Arrays are: `filename[]` `title[]` `description[]` I want to express and iterate through a single associative array for each of the data in the arrays above. `filename` can be the key value for the assoc array, but each filename has it's own corresponding title and description. Below is a sample of: ``` var_dump($filename) string(10) "IMG_1676_3" [1]=> string(10) "IMG_0539_3" [2]=> string(8) "IMG_1942" [3]=> string(8) "IMG_1782" [4]=> string(8) "IMG_2114" [5]=> string(8) "IMG_9759" [6]=> string(8) "IMG_2210" } var_dump($title) string(31) "Lighthouse at Ericeira Portugal" [1]=> string(23) "Gaudi park in Barcelona" [2]=> string(32) "Driving around outside of Lisbon" [3]=> string(16) "Madeira Portugal" [4]=> string(15) "Barcelona Spain" [5]=> string(15) "Lisbon Portugal" [6]=> string(14) "Sailing Lisbon" } ```

Original source