Instagram API 脚本 - 计数图像并最多显示 10

Instagram API script - Count images and display max 10

您可以在下面看到我用来访问 "api" 并显示最多 10 张图像的脚本。到目前为止,这是有效的,但如果用户的图像少于 10 张,就会出错。如何显示最多 10 张图片,如果用户少于 10 张,则只显示用户拥有的图片数量?

脚本:

<?php


    // Get data from Instagram User
    $url        = "https://www.instagram.com/wsj/media/";
    $instagramdata  = @file_get_contents($url);
    $instagramdata  = json_decode($instagramdata, true);


?><div class="instagramfeed"><?php

for($i = 0; $i < 10; $i++){
    $instagramimages = $instagramdata['items'][$i]['images']['standard_resolution']['url'];
    $instagrampage = $instagramdata['items'][$i]['code'];
    $instagramlikes = $instagramdata['items'][$i]['likes']['count'];



    ?><a href="http://instagram.com/p/<?=$instagrampage?>" target="_blank"><?php
    ?><div class="instagramimages" style="background:url(<?=$instagramimages?>)no-repeat center;background-size:cover;"><?php

    ?>
    <div class="instagramimagesoverlay">
        <span class="instagramimagesoverlaytext"><i class="fa fa-heart fa-1x" aria-hidden="true"></i>&nbsp;<?php echo $instagramlikes;?></span>
    </div>
    <?php



    ?></a><?php
    ?></div><?php



}
?>

您需要为数组中的项目数设置计数,有多种方法可以做到这一点,但这里是一种

你似乎也有一些不必要的 <?php .. ?> 对,里面什么都没有,所以我也删除了它们。

<?php
    // Get data from Instagram User
    $url            = "https://www.instagram.com/wsj/media/";
    $instagramdata  = @file_get_contents($url);
    $instagramdata  = json_decode($instagramdata, true);


?>
    <div class="instagramfeed">
<?php
    $cnt = count($instagramdata['items']) > 10 ? 10 : count($instagramdata['items']);
    for($i = 0; $i < $cnt; $i++){
        $instagramimages = $instagramdata['items'][$i]['images']['standard_resolution']['url'];
        $instagrampage = $instagramdata['items'][$i]['code'];
        $instagramlikes = $instagramdata['items'][$i]['likes']['count'];
?>
    <a href="http://instagram.com/p/<?=$instagrampage?>" target="_blank">
        <div class="instagramimages" style="background:url(<?=$instagramimages?>)no-repeat center;background-size:cover;">
        <div class="instagramimagesoverlay">
            <span class="instagramimagesoverlaytext"><i class="fa fa-heart fa-1x" aria-hidden="true"></i>&nbsp;<?php echo $instagramlikes;?></span>
        </div>
    </a>
    </div> <!-- this probably belongs outside the foreach loop-->
<?php
    }
?>