Поврежденный вывод при печати результатов array_diff() с помощью цикла for().Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Поврежденный вывод при печати результатов array_diff() с помощью цикла for().

Сообщение Anonymous »

Я видел здесь несколько похожих проблем, но не смог получить ответ на свою проблему.
Я использую функцию array_diff(), чтобы получить разницу двух массивов , но это не работает так, как ожидалось. Вот мой код.

Код: Выделить всё

$quals = ['TeamA', 'TeamB', 'TeamC', 'TeamD', 'TeamE', 'TeamF', 'TeamG', 'TeamH', 'TeamI', 'TeamJ', 'TeamK', 'TeamL'];
$assigned = ['', '', 'TeamE', 'TeamF', '', '', 'TeamD', 'TeamH','', '', '', 'TeamG'];

for ($i = 0; $i < count($quals); $i++)
echo $quals[$i] . '-';
echo count($quals);

echo "
";

for ($i = 0; $i < count($assigned); $i++)
echo $assigned[$i] . '-';
echo count($assigned);

echo "
";

$remainings = array_diff($quals, $assigned);
for ($i = 0; $i < count($remainings); $i++)
echo $remainings[$i] . '-';
echo count($remainings);
Вот что я получаю на выходе:

Код: Выделить всё

TeamA-TeamB-TeamC-TeamD-TeamE-TeamF-TeamG-TeamH-TeamI-TeamJ-TeamK-TeamL-12

--TeamE-TeamF---TeamD-TeamH----TeamG-12

TeamA-TeamB-TeamC-----7
Что я ожидал бы от последней строки:

Код: Выделить всё

TeamA-TeamB-TeamC-TeamI-TeamJ-TeamK-TeamL-7
Почему я получаю эти последовательные дефисы? И почему четыре элемента отсутствуют при печати строки переноса?

Подробнее здесь: https://stackoverflow.com/questions/218 ... a-for-loop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»