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" }
The array_merge () function merges one or more arrays into one array. Note: If two or more array elements have the same key, the last one overrides the others. How to merge two arrays without duplicate values in PHP?
The PHP Array_Merge () function is a built-in php function that is used to merge the elements of one, two, or multiple arrays together into a single array. The elements of the arrays are appended to the end of the previous array in the input list.
1 First, define two indexed arrays: $server_side and $client_side. 2 Second, merge the $server_side and $client_side arrays into one array using the array_merge () function. 3 Third, show the result array.
Note: If two or more array elements have the same key, the last one overrides the others. How to merge two arrays without duplicate values in PHP?
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?
If you array key are the same for all the 3 arrays, the better way to do what you are asking, is a foreach creating a new array with all the key(filename,title,description) in the same key:
<?php
foreach($filename as $key => $file)
{
$files[$key]['filename'] = $file;
$files[$key]['title'] = $title[$key];
$files[$key]['description'] = $description[$key];
}
?>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With