#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. Рад, что смог помочь.