如何为每个循环使用一个$ i ++

时间:2017-06-19 14:27:03

标签: php foreach

以下代码循环通过images目录并使用div输出它们。我想将图像用作标签,以便我可以将它们用作选择。

为此,我需要每个输入的唯一ID,所以我用$ i ++的东西做了:

$i = 1;
foreach (new DirectoryIterator('img/thumbnail') as $fileInfo) {
    if($fileInfo->isDot()) continue;
    echo "<label for='grid-item-" . $i++ . "'><div class='grid-item' style='background-image: url(img/thumbnail/" . $fileInfo->getFilename() . ");'></div></label>";
    echo "<input type='checkbox' id='grid-item-" . $i++ . "'>";
}

然而,使用这个循环,每个$ i ++都会增加如下:

标签 - &gt; 1

输入 id - &gt; 2

标签 - &gt; 3

输入 id - &gt; 4

但我想将它们分组,以便标签和输入匹配:

标签 - &gt; 1

输入 id - &gt; 1

标签 - &gt; 2

输入 id - &gt; 2

我如何循环使用这两项?

1 个答案:

答案 0 :(得分:6)

只需将$ i增加一次而不是两次。请尝试以下示例:

    $i = 1;
    foreach (new DirectoryIterator('img/thumbnail') as $fileInfo) {
        if($fileInfo->isDot()) continue;
        echo "<label for='grid-item-" . $i . "'><div class='grid-item' style='background-image: url(img/thumbnail/" . $fileInfo->getFilename() . ");'></div></label>";
        echo "<input type='checkbox' id='grid-item-" . $i . "'>";
        $i++;
    }