2016-05-10 7 views

答えて

9

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

私のようにもっとエレガントです。 +1 – vaso123

0

エクスポーズするときは、値を配列に入れます。配列を繰り返し、カウンタを追加します。カウンターが5のときは、反復から抜け出す。

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

は答えをいただき、ありがとうございます。 forループのない方法はありますか?おそらくsubstrを使用します。 –

+0

ループの問題は何ですか?とにかく、はい、 'echo $ lines [0]; echo $ lines [1]; echo $ lines [2]; // etc ... ' – vaso123

-2
// 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]; 
} 
+2

これは悪いです。インデックスがない配列要素にアクセスするのに問題がある行が5行未満の場合です。 – apriede

1

array_slice使用私は遅刻と思いますが、あなたはまた、5explodeの結果を制限することができます。

explode(PHP_EOL, $string, -(count(explode(PHP_EOL, $string)) - 5)); 
関連する問題