0

下面的代码旨在每 4 个图块创建一个新行,但事实并非如此。这是基于 Bootstrap 的,当它开始新行时,瓷砖将从左侧继续。这就是目前正在发生的事情http://www.baboonhut.com/

<?php
$dir = 'resources/';
$i = 1;
$dirs = glob($dir.'*', GLOB_ONLYDIR);
array_multisort(
    array_map('authormodified', $dirs),
    SORT_NUMERIC,
    SORT_DESC,
    $dirs
);
function authormodified($dir) {
    return filemtime($dir.'/author.txt');
}

foreach($dirs as $resdir) {
    $i++;
    $resdir = str_replace($dir, '', $resdir);
    $filename = 'resources/'. $resdir .'/author.txt';
    $hit_count = @file_get_contents('resources/'. $resdir .'/count.txt');

if(!$i%4)
    echo '</div><div class="row demo-tiles">';

    echo "
<div class=\"span3\">
<div class=\"tile\">
<img src=\"resources/". $resdir ."/thumbnail.png\" class=\"img-rounded\">
<h3 class=\"tile-title\">". $resdir ."</h3>
<span class=\"label label-warning\"><i class=\"icon-calendar\"></i> " . date("jS F y", filectime($filename)); echo "</span> <span class=\"label label-info\"><i class=\"icon-download\"></i> "; echo $hit_count; echo "</span>
<p>"; echo file_get_contents('resources/'. $resdir .'/description.txt'); echo "</p>
<a class=\"btn btn-primary btn-large btn-block\" href=\"http://www.baboonhut.com/resources/" . $resdir ."/\">More Information</a>
</div>
</div>
"
;
}
?> 
4

1 回答 1

5

这是因为运算符优先级!的优先级高于%。你需要

if(!($i % 4)) {
    echo '...';
}

没有括号,您的条件将被评估为好像 ((!$i) % 4)对所有人都是错误的$i != 0

于 2013-06-01T11:54:33.877 回答