只打印字符串的前5行


Print only the first 5 lines of a string

我使用条件语句:if(count(explode(PHP_EOL, $str) > 5)来检查字符串是否超过5行,但如何只打印字符串的前5行?

使用array_slice

$lines = explode(PHP_EOL, $str);
echo implode(PHP_EOL, array_slice($lines,0,4)) . PHP_EOL; 

当expolode时,将值放入数组中。遍历一个数组,然后添加一个计数器。当计数器为5时,退出迭代。

$lines = explode(PHP_EOL, $str);
$i = 1;
foreach ($lines as $line) {
   echo $line ."'n";
   $i++;
   if ($i >= 5) {
      break;
   }
}

我想我迟到了,但您也可以将explode的结果限制为5:

explode(PHP_EOL, $string, -(count(explode(PHP_EOL, $string )) - 5 ));
// split lines with new line
$lines = explode(PHP_EOL, $str);
// loop through first five lines
for($i = 0; $i < 5; $++)
{
   // print line
   echo $lines[$i];
}