2016-12-23 17 views
0

私は次のURLを持っています。cURLから抽出した配列から値を取得

$url="https://graph.facebook.com/v2.8/page_id?fields=albums%7Bphotos.fields(source)%7D&access_token=access_token"; 

このようなデータを得る。

$ch=curl_init(); 
CURL_SETOPT($ch,CURLOPT_URL,$url); 
CURL_SETOPT($ch,CURLOPT_RETURNTRANSFER, 1); 
$json=json_decode(curl_exec($ch),true); 

私は以下のようにデータを印刷します。

Array 
(
[albums] => Array 
    (
     [data] => Array 
      (
       [0] => Array 
        (
         [photos] => Array 
          (
           [data] => Array 
            (
             [0] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/15622392_1822020618075402_5390943482972338844_n.png?oh=e51cddbae2c4f9ca6926487207349674&oe=58F32530 
               [id] => 1822020618075402 
              ) 

             [1] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/14695531_1788596578084473_7400591108780706934_n.jpg?oh=08e6f8301fd574edab84724005b5dcbd&oe=58DBBEB5 
               [id] => 1788596578084473 
              ) 

             [2] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/14729405_1787260094884788_470106074060850845_n.jpg?oh=a9cae794a571078709ddede6a0a25fb7&oe=58ECA3E5 
               [id] => 1787260094884788 
              ) 

             [3] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/s720x720/14088463_1761208347489963_7246779259418379868_n.jpg?oh=3b86b61bd6eed58068d1ff55776fa5de&oe=58F47DEA 
               [id] => 1761208347489963 
              ) 

             [4] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t31.0-8/s720x720/14125030_1758545434422921_4678448833207945291_o.jpg?oh=0b7f1455568f2ea36c80824c4531d820&oe=58FA25E0 
               [id] => 1758545434422921 
              ) 

             [5] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/14067692_1755506721393459_3688009157574505621_n.jpg?oh=3fdf992a10562e7a62222424bbd7d284&oe=58DA3F4A 
               [id] => 1755506721393459 
              ) 

             [6] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/13882196_1747456648865133_5440996625655127273_n.jpg?oh=b0f40cfee6858cd45f62e55630f2ac74&oe=58EF172F 
               [id] => 1747456648865133 
              ) 

             [7] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/13782279_1745152582428873_8951006239758371779_n.jpg?oh=d329a7d4dd75975302708a147cf3f0e9&oe=58F14A03 
               [id] => 1745152582428873 
              ) 

             [8] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/13659216_1740388646238600_1705878934725863431_n.jpg?oh=1ed9492d4ae713587a96edf4f38893b1&oe=58DB8EE7 
               [id] => 1740388646238600 
              ) 

             [9] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/10885434_1516104578667009_8707702519302744521_n.jpg?oh=515cce8abab01bcdca68f14388664ae5&oe=58E0AEEB 
               [id] => 1516104578667009 
              ) 

             [10] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/1937451_1505417943069006_8760716891932748781_n.jpg?oh=7a2a2daef9b1be7d3c98b35748893ea6&oe=58DCA006 
               [id] => 1505417943069006 
              ) 

             [11] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-0/p180x540/10696291_1494026260874841_6924391974289072931_n.jpg?oh=df5d849e389d80c69c82118066445aa1&oe=58E08143 
               [id] => 1494026260874841 
              ) 

             [12] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/10171825_1493583504252450_5141485588957894327_n.jpg?oh=17b0b20487ebb34be29621c355dba628&oe=58F0739D 
               [id] => 1493583504252450 
              ) 

             [13] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/1513735_1492709627673171_1477328081447762519_n.jpg?oh=3012a617a0d48c4c736fc1e1ee428b26&oe=58EEAE38 
               [id] => 1492709627673171 
              ) 

             [14] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/s720x720/1515003_1490905571186910_3127181473382908591_n.png?oh=83bcf6d52c83ecc05d40b478afe71cd9&oe=58F6D6B2 
               [id] => 1490905571186910 
              ) 

             [15] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/970678_1488554404755360_7889648772961232584_n.jpg?oh=3447943aeb630d6cfee3961e9bf8a444&oe=58E08CFE 
               [id] => 1488554404755360 
              ) 

             [16] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/10676246_1487619861515481_8080018536585231766_n.jpg?oh=c8e143320188e22170c1f28fa52fcfae&oe=58E6C546 
               [id] => 1487619861515481 
              ) 

             [17] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/q82/s720x720/10689897_1486654284945372_4989681801007970605_n.jpg?oh=d67a02472ce4aff6c32d443377a21e9a&oe=58E73B16 
               [id] => 1486654284945372 
              ) 

             [18] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t31.0-0/p180x540/10750146_1485256888418445_36234076640555733_o.jpg?oh=5e486c35cee8f4ecba8743948e6e4cb3&oe=58F9C0CE 
               [id] => 1485256888418445 
              ) 

             [19] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/560161_1484719421805525_2089957304428778741_n.jpg?oh=099d53b6aacfaa10b7a119c48179c1c3&oe=58E21E6C 
               [id] => 1484719421805525 
              ) 

             [20] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/s720x720/1377050_1484034435207357_151327894676844014_n.jpg?oh=83eb8c6b25412b067b4a000fa5f97a99&oe=58F7DB51 
               [id] => 1484034435207357 
              ) 

            ) 

           [paging] => Array 
            (
             [cursors] => Array 
              (
               [before] => MTgyMjAyMDYxODA3NTQwMgZDZD 
               [after] => MTQ4NDAzNDQzNTIwNzM1NwZDZD 
              ) 

            ) 

          ) 

         [id] => 1484035021873965 
        ) 

       [1] => Array 
        (
         [photos] => Array 
          (
           [data] => Array 
            (
             [0] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/13782058_1742422396035225_5477589171813279082_n.png?oh=364dda35704379d15336ab1f9144659d&oe=58EA49E7 
               [id] => 1742422396035225 
              ) 

             [1] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/10350506_1484031238541010_5203658133196952315_n.jpg?oh=26dbeba4df1f650e4acbea3a1aad5164&oe=58EC962B 
               [id] => 1484031238541010 
              ) 

            ) 

           [paging] => Array 
            (
             [cursors] => Array 
              (
               [before] => MTc0MjQyMjM5NjAzNTIyNQZDZD 
               [after] => MTQ4NDAzMTIzODU0MTAxMAZDZD 
              ) 

            ) 

          ) 

         [id] => 1484031228541011 
        ) 

       [2] => Array 
        (
         [photos] => Array 
          (
           [data] => Array 
            (
             [0] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/13669028_1742420099368788_169584588534858741_n.jpg?oh=2ceec7f3f1890dfff93dfd097d9da11b&oe=58E9A3B8 
               [id] => 1742420099368788 
              ) 

             [1] => Array 
              (
               [source] => https://scontent.xx.fbcdn.net/v/t1.0-9/s720x720/10687154_1481995178744616_1243763385874632903_n.jpg?oh=0ed79383008455b3326d174dd5935b4b&oe=58FBB705 
               [id] => 1481995178744616 
              ) 

            ) 

           [paging] => Array 
            (
             [cursors] => Array 
              (
               [before] => MTc0MjQyMDA5OTM2ODc4OAZDZD 
               [after] => MTQ4MTk5NTE3ODc0NDYxNgZDZD 
              ) 

            ) 

          ) 

         [id] => 1481995338744600 
        ) 

      ) 

     [paging] => Array 
      (
       [cursors] => Array 
        (
         [before] => MTQ4NDAzNTAyMTg3Mzk2NQZDZD 
         [after] => MTQ4MTk5NTMzODc0NDYwMAZDZD 
        ) 

      ) 

    ) 

[id] => page_id 
) 

は、今私は、アレイからソースをしたいと画像タグにこれを置きます。以下のように。

<img src="url_from the array for each picture"/> 

私はこのようにしていますが、ソースを取得していません。

foreach($json as $key){ 
    echo $key['source']; 
} 

ソースをループにしてすべての画像を表示するにはどうすればよいですか?

答えて

0

..をループし、次を使用して、すべての画像を表示:

$albums = $json["albums"]; 

foreach ($albums["data"] as $album) { 
    foreach($album["photos"]["data"] as $photo) { 
     echo $photo["source"]; 
    } 
} 
1
これにあなたの json_encode行を変更

$json=json_decode(curl_exec($ch));

はその後のようなあなたの情報にアクセス:

foreach($json->albums->data as $album){ 
    foreach($album->photos->data as $photo){ 
     echo '<img src="'.$photo->source.'"/>'; 
    } 
} 
+0

その作業..このようなコードを書く方法を説明してください。 –

+1

それは簡単です。あなたがしなければならないことは、あなたの結果を見ることだけです。私は 'print_r'や' var_dump'を使って返されたデータを見るのが好きです。データを見ると、キーと値があることが分かります。いくつかの値は文字列であり、いくつかは配列内の配列であり、結果は多次元配列になります。しかし、私が指摘したように、オブジェクトを扱うためには、これを配列に変換する必要はありません。 – CodeGodie

0

これは多次元配列です。
その中のすべてのアルバムと写真が返されます。
は何か、あなたがループにアルバム、そしてこれらのアルバムで、その後の写真を必要とする

// for each Album 
foreach($json['albums']['data'] as $album) 
{ 
    // for each photos in current album 
    foreach($album['photos']['data'] as $photo) 
    { 
     echo '<img src="'. $photo['source'] .'"/>'; 
    } 
} 
関連する問題