Php 显示文件的多行,从不重复

Php 显示文件的多行,从不重复,php,lines,Php,Lines,我需要,每十行,在一个div中回显它们 例如: <div class='return-ed' id='1'> line 1 line 2 ... line 9 line 10 </div> <!-- next group of lines --> <div class='return-ed' id='2'> line 11 line 12 ... line 19 line 20 </div> 第1行 第2行 ... 第9行 第1

我需要,每十行,在一个div中回显它们

例如:

<div class='return-ed' id='1'>
line 1
line 2
...
line 9
line 10
</div>

<!-- next group of lines -->

<div class='return-ed' id='2'>
line 11
line 12
...
line 19
line 20
</div>

第1行
第2行
...
第9行
第10行
第11行
第12行
...
第19行
第20行
有人知道怎么做吗


数组来自file(),所以它的行来自一个文件。

通过快速谷歌搜索:

逐行读取文件

函数用于从文件中读取一行

注意:调用此函数后,文件指针已移动到下一行

W3学校的例子:

下面的例子

逐行读取文件,直到到达文件末尾:

<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
  {
  echo fgets($file). "<br />";
  }
fclose($file);
?>

您所需要做的就是让计数变量在while循环中最多计数10。一旦达到10,做你需要做的事。

echo';
echo '<div class="return-ed" id="1">';
$lineNum = 0;
foreach ($lines as $line) {
    if ($lineNum && !($lineNum % 10)) {
        echo '</div><div class="return-ed" id="'.($lineNum/10+1).'">';
    }
    echo $line."<br />";
    $lineNum++;
}
echo "</div>";
$lineNum=0; foreach($line作为$line){ 如果($lineNum&&!($lineNum%10)){ 回声'; } echo$行“
”; $lineNum++; } 回声“;
假设您的线路在一个您正在回音的阵列中,类似这样的方式可以工作:

$count = 0;
$div = 1;
foreach($lines as $line){ //or a for loop, whatever you're using
  if(0 == $count){
    echo "<div id='$div'>";
  }

  $count++;
  echo $line;

  if(10 == $count){
    echo "</div>";
    $count = 0;
  }
}
$blocks = array_chunk(file('path/to/file'), 10);
foreach($blocks as $number => $block) {
    printf('<div id="%d">%s</div>', 
            $number+1, 
            implode('<br/>', $block));
}
$count=0;
$div=1;
foreach($line作为$line){//或for循环,无论您使用什么
如果(0==$count){
回声“;
}
$count++;
回声线;
如果(10==$count){
回声“;
$count=0;
}
}
这应该可以:

$count = 0;
$div = 1;
foreach($lines as $line){ //or a for loop, whatever you're using
  if(0 == $count){
    echo "<div id='$div'>";
  }

  $count++;
  echo $line;

  if(10 == $count){
    echo "</div>";
    $count = 0;
  }
}
$blocks = array_chunk(file('path/to/file'), 10);
foreach($blocks as $number => $block) {
    printf('<div id="%d">%s</div>', 
            $number+1, 
            implode('<br/>', $block));
}
$blocks=array_chunk(文件('path/to/file'),10);
foreach($块作为$number=>$block){
printf(“%s”,
$number+1,
内爆('
',$block)); }
参考资料:


使用
%
比我的更优雅,但除了最后一个循环之外,所有循环都缺少结束
。是的。我不应该一大早就把代码直接输入文本区。我已经添加了close div。我想你的意思是
foreach($line作为$line)
@webbiedave-确实如此。看来早晨很危险。更新。呃……我会选择其他答案之一——并不是说我不喜欢“接受”。我猜这只会让逻辑变得显而易见?每个默认值都有
bool$preserve\u keys=false
,因此每个区块的文件编号都会重新编号。