2016-11-30 49 views
-1

我有一個工作陣列如下編程方式延伸與子陣列的陣列

"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 /類型/字幕元件延伸的陣列是否存在用於$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... 

謝謝你的任何援助。

+0

媒體網址,類型和標題來自數據庫的權利?查詢結果變量在哪裏? –

+0

請不要SHOUT。 – Chris

+0

是的所有數據都來自數據庫。該數組被json編碼並被傳送到第三方API。所以我使用的數組格式是預先確定的。 – user2755309

回答

0
//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

嗨拉蒙 - 謝謝你。我的問題中的代碼片段顯示了數百個附加(但更簡單)元素的數組元素。因此,json編碼應用於從數據庫查詢生成的整個php數組。所以試圖適合你的片段將無法正常工作。我首先需要生成整個php數組。然後編碼。希望這是有道理的。 – user2755309

+0

通過這種方式坐在我的服務器上。所以第三方API從我的代碼中獲取URL並調用圖像。我確實擴展了問題的清晰度 – user2755309

+0

UploadsPath,媒體,類型和標題來自您的數據庫好嗎?並且你想查詢的每個結果行都要放在一個子數組中,並將它們推送到內容數組中?之後,您對數組進行編碼並將其返回以供API接收。 –