PHP设置要显示的最大图像数

时间:2014-03-28 08:08:43

标签: php

我有一个代码可以从文件夹中提取图像并在网站上显示这些图像。问题是我只想显示最多12张图像(随机)。由于我不熟悉PHP,我希望有人可以在这里提供帮助。

我的代码是:

<?php
    foreach($this->images as $image)
    {
        $path = ($image->remote == 1) ? $image->path : $this->ipbaseurl.$this->settings->imgpath;
        echo '<img src="'.$path.$image->fname.$image->type.'" alt="'.$this->p->street_address.'" width="320" style="margin: 10px 5px 0px 5px;"/> ';
    }
?>

4 个答案:

答案 0 :(得分:0)

foreach($this->images as $count => $image) {
    if ($count >= 12) { break; }

甚至更早,取决于您如何设置$ this-&gt;图片,您可以将其减少为仅包含12个条目的数组

答案 1 :(得分:0)

<?php
    $count= 0;
    foreach($this->images as $image)
    {
        if($count > 12)
                break;

        $path = ($image->remote == 1) ? $image->path : $this->ipbaseurl.$this->settings->imgpath;
        echo '<img src="'.$path.$image->fname.$image->type.'" alt="'.$this->p->street_address.'" width="320" style="margin: 10px 5px 0px 5px;"/> ';
        $count++;
    }
?>

答案 2 :(得分:0)

他们有很多方法可以做到这一点,你必须限制foreach循环,实现它的一种方法是在下面。 在下面的代码中我放$i=0;所以计数从零开始然后在foreach循环中我把增量放在i上并加上限制并破坏代码,如果条件成功if (++$i == 11) break;

<?php
    $i = 0;
  foreach($this->images as $image)
  {
   if (++$i == 11) break;
   $path = ($image->remote == 1) ? $image->path : $this->ipbaseurl.$this->settings->imgpath;
    echo '<img src="'.$path.$image->fname.$image->type.'" alt="'.$this->p->street_address.'" width="320" style="margin: 10px 5px 0px 5px;"/> ';

   }
?>

答案 3 :(得分:0)

如果要从图像阵列中显示12个随机图像,可以尝试这样的方法:

if(count($this->images) > 12) {
    $randomKeys = array_rand($this->images, 12);
} else {
    $randomKeys = array_rand($this->images, count($this->images));
}
foreach($randomKeys as $key) {
    $image = $this->images[$key];
    $path = ($image->remote == 1) ? $image->path : $this->ipbaseurl.$this->settings->imgpath;
    echo '<img src="'.$path.$image->fname.$image->type.'" alt="'.$this->p->street_address.'" width="320" style="margin: 10px 5px 0px 5px;"/> ';
}

从数组中选择12个随机键,然后循环键。如果图像数组中少于12个项目,则使用数组的所有项目,但是按随机顺序。