首页 文章

限制显示 php 的图像数量

提问于
浏览
0

此代码使图像在页面内以“随机”方式显示。

<?php
$myImagesList = array (
    'image1.png',
    'image2.png',
    'image3.png',
    'image4.png'
);

shuffle ($myImagesList);
foreach ($myImagesList as $displayImagesAtRandomOrder) {
echo '<img src="/imagens/' . $displayImagesAtRandomOrder . '" width="200" height="40" border="0" />';
}
?>

例:

image1.png image3.png image2.png image4.png

F5 reshesh 页面

image2.png image3.png image4.png image3.png

F5 reshesh 页面

image1.png image4.png image3.png image2.png

F5 reshesh 页面

image2.png image3.png image1.png image4.png

但是,如何一次只显示两个图像?例:

image1.png image3.png

F5 reshesh 页面

image3.png image2.png

F5 reshesh 页面

image2.png image4.png

F5 reshesh 页面

image3.png image1.png

4 回答

  • 0

    一种简单的方法是仅限制迭代

    <?php
    $myImagesList = array (
        'image1.png',
        'image2.png',
        'image3.png',
        'image4.png'
    );
    
    $count = 1; //set up our count, start at our first image
    $imagesToShow = 2; //how many images we want to show
    
    shuffle ($myImagesList);
    foreach ($myImagesList as $displayImagesAtRandomOrder) {
        //if we have reached our count, let's break out of our loop
        if($count > $imagesToShow) { break; }
        echo '<img src="/imagens/' . $displayImagesAtRandomOrder . '" width="200" height="40" border="0" />';
        $count++; //increase our count each loop iteration
    }
    ?>
    
  • 0

    使用for-loop代替foreach,只需 2 次迭代:

    <?php
    
    $myImagesList = array (
        'image1.png',
        'image2.png',
        'image3.png',
        'image4.png'
    );
    
    shuffle ($myImagesList);
    
    for($index = 0; $index < 2; $index++){
        echo '<img src="/imagens/' . $myImagesList[$index] . '" width="200" height="40" border="0" />';
    }
    
    ?>
    

    如果您不知道这两个关键字的区别:for 循环和 php 中的每个循环有什么区别

  • 0
    $imageCounter = 0;
    foreach ($myImagesList as $displayImagesAtRandomOrder) {
      $imageCounter++;
      echo '<img src="/imagens/' . $displayImagesAtRandomOrder . '" width="200"   height="40" border="0" />';
      if (!($imageCounter % 2)) break;
    }
    

    上面的代码只显示 2 张图片。您可以将该号码更改为您想要的任何号码。希望能帮助到你。

  • 0

    在对它们进行洗牌之后,您可以循环两次,获取数组中的前两个(0 和 1)项:

    shuffle ($myImagesList);
    for ($i=0; $i<2; $i++) {
    echo '<img src="/imagens/' . $myImagesList[$i] . '" width="200" height="40" border="0" />';
    }
    

相关问题