У меня есть рабочий массив следующим образом
"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...
Спасибо за любую помощь.
//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);
Других решений пока нет …