【问题标题】:PHP foreach loop for all images in a HTML 3 table column用于 HTML 3 表格列中所有图像的 PHP foreach 循环
【发布时间】:2016-03-18 15:27:16
【问题描述】:

您好,我是 PHP 和这个网站的新手,所以请多多关照 :)

我目前在处理下面的 PHP foreach 代码时遇到问题,因为我试图在 HTML 表 3 列中回显所有图像,但它只回显 2。

更新:感谢 cmets 的帮助,我已经设法解决了一些问题,谢谢。但是,我现在遇到了另一个令人困惑的问题。

基本上,如果我在文件夹中有一张图片,它会回显那张图片,但如果我把两张图片放在那里,它会以 4 回显,第一张图片与 2 相呼应,第二张也与 2 相呼应。即使我在该文件夹中有 2 张图像,基本上也显示 4 张图像。我似乎无法解决这个问题..

代码如下:

<?php
// get images
$images = glob($imagedir.'/' . "*.png");
$i = 0;
echo'<table><tr>';
foreach($images as $image)
{
    $i++;
   echo '<td><img src="'.$image.'" height="200"></td>';
   if($i == 3)
   {
       echo '</tr><tr>';
       $i = 0;
   }
}
echo '</tr></table>';
?>

提前致谢

【问题讨论】:

  • 在执行 foreach 循环时不要打开和关闭 PHP。此外,foreach 循环不以endforeach 结尾,而是以花括号} 结尾。 foreach 示例&lt;?php foreach($images as $image){ echo "$image&lt;br&gt;"; } ?&gt;
  • 他正在使用相同的替代语法,其有效
  • 好的,这对我来说是新的,以前从未见过。我的错。
  • 你检查你的数组了吗,print_r($images);它真的满足 3 个值吗?
  • 嘿,我认为您更新的问题可能与您在 if 语句中将 $i 变量重置为 0 有关。

标签: php


【解决方案1】:

您用于呈现 HTML 的代码很好。 如果你有重复,你的 imagedir 的内容一定是错误的。

几点说明:

  1. glob($imagedir.'/' . "*.png"); 还包括名称以.png 结尾的目录。
  2. 根据图片的数量,表格的最后一行不会被表格单元格完全填满。
  3. 最好不要在 php 文件末尾使用 php 结束标记 ?&gt;

我已更改您的代码以避免出现上述问题。 我敢肯定还有更多/其他方法可以做到这一点,但首先要考虑到这一点。

<?php
    $imagedir = 'images';
    //Get *.png files only
    $images = array_filter(glob("$imagedir/*.png"), 'is_file');

    //Make image array divisble by 3 (columns)
    while (count($images) % 3 != 0) {
        $images[] = '';
    }

    echo'<table><tr>';
    for ($i = 1; $i <= count($images); $i++) {
        //Render TD if $image is not empty
        if ($images[$i-1] != '' != '') {
            echo '<td><img src="' . $images[$i-1] . '">', "<br>Image $i</td>";
        }
        //Close table row after 3 TD's
        if($i % 3 == 0) 
        {
            echo '</tr><tr>';
        }
    }
    echo '</tr></table>';

【讨论】:

    猜你喜欢
    • 2019-11-17
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2015-05-06
    • 1970-01-01
    • 2011-06-01
    相关资源
    最近更新 更多