У тебя перевод строки добавляется только один раз, в самом конце.
Но главная проблема в том, что у тебя двумерный массив, а ты пытаешься с ним работать как с одномерным.
Если у тебя есть "элементы строки", это значит что строка - это массив.
То есть ты пытаешься выводить строки, разделяя их пробелом.
Как выводить элементы массива ты уже знаешь. То есть надо добавить этот код внутри уже существующего.
Только ради бога, забудь ты про перебор массивов оператором for. Уже почти 20 чертовых лет в РНР есть нормальный оператор foreach, но какие-то недоумки все еще преподают студентам искомаемую версию языка.