@VishenkaNaTorte

Как сделать, чтобы массив формировался правильно из txt файла?

Я читаю txt файл, который выглядит так
1
2
3
2
1
1


Сам код:

<?php
    $a = file('input.txt');
    asort($a);
    foreach($a as $b) {
        print($b);
    }
?>


После сортировки выводится 11 1 2 2 3, хотя я ожидал видеть 1 1 1 2 2 3. Как исправить? Может, нужно сортировать другим способом? Содержимое txt файла менять нельзя. Но если бы там были числа в одной строке, все выглядело бы, как нужно.
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@Stalinko
PHP'шник и фрилансер до мозга костей
Команда `file()` возвращает файл в виде строк, причём в конце каждой строки кроме последней будет перевод строки "\r\n" или "\n".
Т.е. $a состоит из строк ["1\n", "2\n", ...., "1\n", "1"];

Решение - обрезать переводы строк. Например так:
$a = array_map('trim', $a);

Ещё непонятно, почему используешь asort вместо sort, если тебе индексы не нужны?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы