Как читать файл построчно в PHP - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть архив txt в этом формате.

$line[0] = 50009828720001007029552330034 20181009MG551 0119195102P000000002624400000000000000000000000000000000000000000000000262440000N

В этой строке я могу получить много информации о готовом документе.

Пример: когда я использую функции ниже, я могу получить номер документа, дату документа и другую информацию.

$numDoc[0] = (string)substr($line[0], 46, 5); // THE NUMBER OF DOCUMENT IS 011919
$dateDoc[0] = (string)substr($line[0], 30, 8); // DATE OF DOCUMENT IS 20181009

Как я могу структурировать свой архив, чтобы легко распечатать информацию, упорядоченную следующим образом.

НОМЕР ДОКУМЕНТА - ДОКУМЕНТ ДАТЫ

Какой простой способ заказать эту информацию, это небольшое приложение, не позволяющее пользователю ничего делать, просто загрузите этот архив .txt.

Мой вопрос касается структурирования информации для легкого доступа, как показано ниже:

doc1{
number = xxx
date = xxx
generic = xxx
}

1 Ответ

0 голосов
/ 14 ноября 2018

Полагаю, вам нужен способ сделать его более динамичным, чем вводить вручную [0], затем [1] и так далее?

Вы можете зациклить txtfile с помощью foreach и назначить новые элементы массива с помощью [].

$file = fopen("path of txt");

foreach($file as $line){
    $numDoc[] = substr($line, 46, 5); 
    $dateDoc[] = substr($line, 30, 8);
}

Приведенный выше код перебирает документ и создает два массива с датами и номером документа.

Я бы, вероятно, сделал это многомерным массивом, вместо того чтобы хранить все в одном месте.

foreach($file as $line){
    $array["numdoc"][] = substr($line, 46, 5); 
    $array["dateDoc"][] = substr($line, 30, 8);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...