从cURL中提取的数组中获取值

I have following url.

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

and getting data like this.

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

when I print the data it looks like below.

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
)

Now i want source from array and put this into an image tag. like below.

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

I am trying like this, but not getting source.

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

How can i get source in loop and display all images?

3个回答



您需要循环播放专辑,然后循环播放这些专辑中的照片,例如:</ p>

  $ albums = $ json [“albums”]; 

foreach($ albums [“data”] as $ album){
foreach($ album [“photos”] [“data”] as $ 照片){
echo $ photo [“source”];
}
}
</ code> </ pre>
</ div>

展开原文

原文

You need to loop the albums, and then the photos in these albums, something like:

$albums = $json["albums"];

foreach ($albums["data"] as $album) {
    foreach($album["photos"]["data"] as $photo) {
        echo $photo["source"];
    }
}



json_encode </ code>行更改为: $ json = json_decode(curl_exec($ ch)) ; </ code> </ p>

然后访问您的信息:</ p>

  foreach($ json-&gt; albums-&gt; data as  $ album){
foreach($ album-&gt; photos-&gt; data as $ photo){
echo'&lt; img src =“'。$ photo-&gt; source。'”/&gt;'; \ n}
}
</ code> </ pre>
</ div>

展开原文

原文

Change your json_encode line to this: $json=json_decode(curl_exec($ch));

Then access your info as such:

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

dst8922
dst8922 真棒。 这很简单。 您所要做的就是查看结果。 我喜欢使用print_r或var_dump来查看返回的数据。 一旦看到数据,就会发现有键和值。 有些值是字符串,有些是数组内的数组,使得结果成为多维数组。 但是,正如我所指出的那样,你真的不需要把它变成一个数组,因为它最适合处理对象。
3 年多之前 回复
dongshenghe1833
dongshenghe1833 它的工作原理。你能解释一下你如何编写这样的代码。
3 年多之前 回复



这是一个多维数组。

它返回所有相册和照片。

使用以下 循环并显示所有图像.. </ p>

  //每个相册
foreach($ json ['albums'] ['data']为$ album)
{
//对于当前专辑中的每张照片
foreach($ album ['photos'] ['data']为$ photo)
{
echo'&lt; img src =“'。$ photo [' source']。'“/&gt;';
}
}
</ code> </ pre>
</ div>

展开原文

原文

This is a multi dimensional array.
Its returning all the albums and the photos within.
Use the following to loop through and display all the images..

// 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'] .'"/>';
    }
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问