2016-11-30 10 views
-1

Iはプログラムによるサブアレイを有するアレイを拡張

"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).. 

    ); 

Iがデータベースから$media_url及び他のデータを取得していますが、次のように作業配列を有します。私は私の問題をコーディングする方法である

$media_url4; $media_url5; $media_url6; $media_url7;等の値(最大10枚)がある場合、追加のサブアレイと関連するURL /タイプ/字幕要素を追加することによって、アレイを拡張すぎるプログラムで希望します純粋に追加の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

メディアのURL、タイプ、キャプションはデータベースのものですか?クエリ結果変数はどこにありますか? –

+0

SHOUTをしないでください。 – Chris

+0

はいすべてのデータはすべてデータベースから来ています。配列はjsonエンコードされ、サードパーティのAPIにcURLされます。したがって、使用している配列形式はあらかじめ決められています。 – 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

こんにちはRamon-ありがとう。私の質問のコードスニペットは、何百もの追加要素を持つ配列の要素を示しています。したがって、jsonエンコーディングは、データベースクエリから生成されたPHP配列全体に適用されます。だからあなたのスニペットに合うようにしようとすると動作しませんでした。 PHP配列全体を生成するにはまず第一に必要です。その後、それをエンコードします。希望は意味をなさない。 – user2755309

+0

途中で画像が私のサーバーに座っています。したがって、サードパーティのAPIは自分のコードからURLを取得し、画像を呼び出します。私は明確にするために質問を延長しました – user2755309

+0

UploadsPath、メディア、タイプ、キャプションはデータベースから来ましたか?検索結果の各行は、サブアレイに挿入してコンテンツ配列に挿入します。その後、配列をエンコードし、受け取ったAPI用にこれを返します。 –