Your Structure
[
'photo' => [
'0' => '{"file_name":"Penguins.jpg", "content_type": "image/jpeg", "tmp_path": "/var/www/servergreek.com/public_html/www/imgscript/tmp/0048699176"}',
'1' => '{"file_name":"Penguins.jpg", "sha256" : "7e5bdd023b6cf21efe42a8ec90bc1993fc853980d4b564688e5ac2d28c64223c" , "size" : "777835"}',
'4' => '{"file_name":"Penguins.jpg", "content_type": "image/jpeg", "tmp_path": "/var/www/servergreek.com/public_html/www/imgscript/tmp/0048699176"}',
'2' => '{"file_name":"sample.png", "content_type": "image/png", "tmp_path": "/var/www/servergreek.com/public_html/www/imgscript/tmp/0048699177"}',
'3' => '{"file_name":"sample.png", "sha256" : "e6aa1bf1cdb7ca546576cecd61973939be4f1dc8cec3a4f3b49b31d8f60e202f" , "size" : "278383"}',
],
'submit' => 'Upload'
];
Desired Output
[
[photo] => [
[0] => {"file_name":"Penguins.jpg","content_type":"image\/jpeg","tmp_path":"\/var\/www\/servergreek.com\/public_html\/www\/imgscript\/tmp\/0048699176","sha256":"7e5bdd023b6cf21efe42a8ec90bc1993fc853980d4b564688e5ac2d28c64223c","size":"777835"}
[1] => {"file_name":"sample.png","content_type":"image\/png","tmp_path":"\/var\/www\/servergreek.com\/public_html\/www\/imgscript\/tmp\/0048699177","sha256":"e6aa1bf1cdb7ca546576cecd61973939be4f1dc8cec3a4f3b49b31d8f60e202f","size":"278383"}
]
[submit] => Upload
]
Code
<?php
$array = getYourArrayStrcuture(); // you don't need this as you already have this array strcuture
$photoByName = getArrayByFileName($array); // Get array back with file name as key
$result = convertArrayToJson($photoByName,$array); // convert array to json
echo "<pre>";
print_r($result);
/**
* Convert array to json
*/
function convertArrayToJson($photoByName,$array)
{
$result = [];
foreach($photoByName as $key=>$value){
$result[] = json_encode($value);
}
$array['photo'] = $result;
return $array;
}
/**
* Get array back with file name as key
*/
function getArrayByFileName($array)
{
$photoArray = $array['photo'];
$photoByName = [];
foreach ($photoArray as $photo) {
$itemJsonToArray = json_decode($photo, true);
if (!isset($photoByName[ $itemJsonToArray['file_name'] ])) {
$photoByName[ $itemJsonToArray['file_name'] ] = $itemJsonToArray;
} else {
$photoByName[ $itemJsonToArray['file_name'] ] = array_merge($photoByName[ $itemJsonToArray['file_name'] ], $itemJsonToArray);
}
}
return $photoByName;
}
/**
* You don't need this as you already have this array structure
*/
function getYourArrayStrcuture()
{
$yourArrayStructure = [
'photo' => [
'0' => '{"file_name":"Penguins.jpg", "content_type": "image/jpeg", "tmp_path": "/var/www/servergreek.com/public_html/www/imgscript/tmp/0048699176"}',
'1' => '{"file_name":"Penguins.jpg", "sha256" : "7e5bdd023b6cf21efe42a8ec90bc1993fc853980d4b564688e5ac2d28c64223c" , "size" : "777835"}',
'4' => '{"file_name":"Penguins.jpg", "content_type": "image/jpeg", "tmp_path": "/var/www/servergreek.com/public_html/www/imgscript/tmp/0048699176"}',
'2' => '{"file_name":"sample.png", "content_type": "image/png", "tmp_path": "/var/www/servergreek.com/public_html/www/imgscript/tmp/0048699177"}',
'3' => '{"file_name":"sample.png", "sha256" : "e6aa1bf1cdb7ca546576cecd61973939be4f1dc8cec3a4f3b49b31d8f60e202f" , "size" : "278383"}',
],
'submit' => 'Upload'
];
return $yourArrayStructure;
}
?>