Php “我该怎么做?”;捕获;列表中的每第七项?
我习惯于列出文件。在这个场景中,我的dir包含19个文件 我需要创建一个列表,将7个文件包装成Php “我该怎么做?”;捕获;列表中的每第七项?,php,Php,我习惯于列出文件。在这个场景中,我的dir包含19个文件 我需要创建一个列表,将7个文件包装成 我一定累了,因为我不能做这个简单的任务 我的代码已更新,以反映以下建议: $i = 0; echo '<div class="first_div">'; foreach ($dir as $fileinfo) { if ($fileinfo->isFile()) { if(($i % 7 == 0) && ($i > 0) ) echo
我一定累了,因为我不能做这个简单的任务
我的代码已更新,以反映以下建议:
$i = 0;
echo '<div class="first_div">';
foreach ($dir as $fileinfo) {
if ($fileinfo->isFile()) {
if(($i % 7 == 0) && ($i > 0) )
echo '</div><div>';
echo 'My file';
$i++;
}
}
echo '</div>';
$i=0;
回声';
foreach($dir作为$fileinfo){
如果($fileinfo->isFile()){
如果($i%7==0)和($i>0))
回声';
回声'我的文件';
$i++;
}
}
回声';
需要任何帮助。类似的内容:
$c = 0;
foreach ($files as $file) {
echo $file;
if ($c % 7 == 0) {
//7th file
}
$c++;
}
使用mod 7
$counter += 1;
if($counter % 7 = 0)
//New div
不是100%确定这个i-Php的语法,但肯定有一些类似的东西:
echo '<div>';
$i = 0;
foreach ($dir as $fileinfo) {
if($i % 7 == 0 && $i != 0) {
echo '</div><div>';
}
// do stuff
$i++;
}
echo '</div>';
echo';
$i=0;
foreach($dir作为$fileinfo){
如果($i%7==0&&$i!=0){
回声';
}
//做事
$i++;
}
回声';
尝试使用mod运算符(%)确定当前文件号是否为第7个:
echo "<div>";
$i = 0;
foreach ($dir as $fileinfo) {
// Remainder is 0, so its the first of 7 files.
// Skip this for the first one, or we'll get a blank div to start with
if($i % 7 == 0 && $i>0) echo "</div><div>";
echo $filenamehere;
$i++;
}
echo "</div>";
echo”“;
$i=0;
foreach($dir作为$fileinfo){
//余数是0,因此它是7个文件中的第一个。
//第一个跳过这个,否则我们将得到一个空白div
如果($i%7==0&&$i>0)回显“”;
echo$filenamehere;
$i++;
}
回声“;
(代码未经测试,但应能正常工作)
编辑:对$i使用独立计数器,因为索引似乎从2开始,而不是预期的0。或类似
$chunk_size = 7;
foreach (array_chunk($dir, $chunk_size) as $chunk) {
echo '<div>';
foreach ($chunk as $fileinfo) {
// echo list item $fileinfo here
}
echo '</div>';
}
$chunk\u size=7;
foreach(数组块($dir,$chunk\u size)作为$chunk){
回声';
foreach($fileinfo作为块){
//此处回显列表项$fileinfo
}
回声';
}
您可以使用函数将数组拆分为块
<?
$dir_chunks = array_chunk($dir, 7);
foreach($dir_chunks as $dir)
{
echo '<div>';
foreach ($dir as $fileinfo) {
if ($fileinfo->isFile()) {
// build list here
}
}
echo '</div>';
}
?>
或(抛出%运算符并输入更多)
使用以下代码:
if(($i-2) % 7 == 0)
虽然这是关于文件中的行,但同样的想法在这里也适用:我不能100%确定你在问什么,但是如果你正在寻找第七行,那么%操作符可能会帮助你。如果x%7=0:)@Tatu:这将在第一个文件之前输出“”。您需要在“if”语句中添加“&&i>0”以删除第一个空div(请参阅我的代码)。或者,可能不会,因为@Steven说$i从2开始,而不是像我预期的那样从0开始。@webbiedave:在下面对我的答案的评论中,使用这个选项实际上会产生一个问题。第一个DIV
将只包含5项,因为$i
从2开始。因此,我不得不采用柯林斯的解决方案。它不太有效。我使用的是$fileinfo->isFile()
,所以当我开始添加文件时,$I总是从2开始。此外,每个文件的div都是addad。我更新了代码以修复您提到的问题,尝试再次尝试,并让我知道它是否有效。我更新的代码不再依赖于索引,而是使用一个普通的ol'计数器,每个文件递增1。这将使“索引从2开始”问题变得无关紧要。
if(($i-2) % 7 == 0)