Программно расширяемый массив с подмассивами

У меня есть рабочий массив следующим образом

 "content" => array
(
array //sub array for image 1
(
'url' => $uploadspath.$media_url0,//main image
"type" =>$type0,//media type
"caption"=>$caption0
),

array //sub array for image 2
(
'url' => $uploadspath.$media_url1,//main image
"type" =>$type1,//media type
"caption"=>$caption1
),

array //sub array for image 3
(
'url' => $uploadspath.$media_url2,//main image
"type" =>$type2,//media type
"caption"=>$caption2
),

....Programatically add new sub arrays here subject to the existence of $media_url(4,5,6 etc)..

);

Я получаю $media_url и другие данные из базы данных. Я хотел бы слишком программно расширить массив, добавив дополнительные вложенные массивы и связанные элементы URL / type / caption, ЕСЛИ есть значение для $media_url4; $media_url5; $media_url6; $media_url7; и т. д. (макс. 10 изображений)

Моя проблема заключается в том, как кодировать расширение моего массива с помощью дополнительных подмассивов, основываясь исключительно на существовании дополнительных media_urls. Упрощенно я хотел бы иметь возможность сделать что-то по следующим направлениям, но я не знаю, как реализовать это в структуре вложенного массива …

    if ($media_url4) {code to add sub array/element for image 4}
if ($media_url5) {code to add sub array/elementsfor image 5}
etc...

Спасибо за любую помощь.

-1

Решение

//Below we have a function or pdo function that return the new values from database that you want to put in the CONTENT MASTER ARRAY, NOW we put the values in a variable $rows

$rows = functionThatReturnNewValuesToPutInContentArray();

//The foreach looping the variable rows, getting each row in database and putting this in a variable $row

foreach($rows as $row){

//If the $row object data from database contains media_url value add new subarray to masterContentArray
if($row->media_url != ''){
$newSubArray = [
//$row->media_url, is considering that you have a column in your db named by media_url, and that contains url string
'url'=>$row->uploadsPath . $row->media_url,
'type'=>$row->type,
'caption'=>$row->caption,
];
array_push($masterContentArray['content'], $newSubArray);
}

}
return json_encode($content);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector