PHP foreach взорваться

Я новичок в PHP и пытаюсь выяснить, почему после первой строки у меня есть "_" в начале вывода?

$myFile = fopen("sample.txt", "r");

while($strBuffer = fgets($myFile, 180)) {
$strExplode = explode(" ", $strBuffer);

foreach ($strExplode as $value) {
    echo $value . "_";
}

Выход:

This_is_the_first_test_line.
_This_is_the_second_test_line.
_This_is_the_third_test_line._

РЕДАКТИРОВАТЬ: Теперь я считаю, что последний элемент в массиве "Линия" хранит новую строку.. заставляя его печатать _ на новой строке

1 ответ

Попробуй это

$myFile = fopen("sample.txt", "r");

while($strBuffer = fgets($myFile)) {
  $temp= str_replace(" ","_", $strBuffer);
  echo $temp.'<br>';
}

Если вы хотите использовать массив, попробуйте это

$myFile = fopen("sample.txt", "r");

 while($strBuffer = fgets($myFile)) {
     $strExplode = explode(" ", $strBuffer);

      foreach ($strExplode as $value) {
      if($value>"")
      echo $value . "_";
  }
Другие вопросы по тегам