Текст в массив. Странная пустая строка в результатах

#php

#php

Вопрос:

У меня проблема с изменением текста в массив

Это текст в файле:

  zkyu,team 3
 primesteval,team 2
 graves,team 3
  

Мой обрезанный;

 $file = "test.txt";
$fh = fopen($file, 'r');
$members = array();
$toMoveMem = array();

$i = 0;
while (!feof($fh))
{
 $members[] = fgets($fh);   
}
fclose($fh);
foreach ($members as $Mem)
{
$MemS = explode(",", $Mem);
$a = ($MemS[0]);
$b = ($MemS[1]);
$c = str_replace("team", "", $b);
array_push($toMoveMem, array("MemberNick" => $a, "MemberTeam" => $c));
}
  

Проблема в странной пустой строке в ключах массива 0 и 1:

    Array
    (
 [0] => Array
    (
        [MemberNick] => zkyu
        [MemberTeam] =>  3

    )

[1] => Array
    (
        [MemberNick] => primesteval
        [MemberTeam] =>  2

    )

[2] => Array
    (
        [MemberNick] => graves
        [MemberTeam] =>  3
    )

    )
  

Не могу понять, что я делаю не так.
Почему ключи массива 1 и 2 не похожи на ключи массива 3?

Может кто-нибудь помочь мне и объяснить.

Комментарии:

1. Чего мне здесь не хватает? Я не вижу the strange empty line in array keys 0 and 1 . Для меня три массива выглядят одинаково…

2. Перед закрытием ) для каждого элемента.

3. Да, вот оно — теперь я это вижу. Спасибо @dcclassics 1

Ответ №1:

Держу пари, это потому, что после первых двух объектов есть новая строка. После третьей нет ни одной, потому что это конец файла. Вы можете использовать trim() на $c .

$c = trim(str_replace("team", "", $b));

Комментарии:

1. Не стесняйтесь отмечать этот ответ как решение, если вы удовлетворены. 🙂

2. Рад, что смог помочь.