Olá pessoal ! Gostaria que alguém me ajudasse, estou precisando ler 2 linhas de um arquivo de texto por cada iteração do loop, quebrar as strings e montar um array que será codificado em json e isso servirá como um arquivo de retorno com informação sobre clientes, porém dessas 2 linhas cada uma possui um padrão de quebra de string diferente. A primeira linha estou chamando de segmento_T e a segunda de segmento_U por que o 14° caractere dessas linhas possuem as letras T e U , cada duas linhas trazem informações de um só cliente . Quero que cada segmento_t tenha o seu segmento_u. Todo o arquivo de texto está sendo alternado em segmento_t e segmento_u. Exemplo do txt:
03300000 00000000000134373970130041625 000604895 AAAAA AAAAAAAAAA EIRELI ME AAAAA AAAAAAAAA (BRASIL) S/A 204012019 000039040
03358651T01 040 2010000053000134000604895 373970130041625 AAAAA AAAAAAAAAA EIRELI ME 0000003904012019
0335860000001T 09300000130041625 000000051504320000000000515040301201900000000000735003337397 001000002750640423PATESCO GONDIM SILVA GUIMARAES 01300416250000000000000000000000000
0335865300002U 0900000001111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000401201904012019000000000000000000000000000 000
A primeira linha do txt vai ficar dentro de um array chamado "Header", a segunda linha dentro de um array chamado "Lote" e o restante das linhas vão ser as informações sobre cliente.
Esse é o código que tenho até agora:
<?php
$file = file("COBST_BGM1_03_210119P_MOV.txt");
$total_linhas = count($file);
$Dados = array();
for($x=0; $x<$total_linhas; $x++) {
if ($x==0){
$lista = $file[$x];
$Cabecalho['Header'][] = array(
'codigo_banco' => substr($lista, 0, 3),
'lote:' => substr($lista, 3, 4),
'tipo_registro:' => substr($lista, 7, 1),
'reservado:' => substr($lista, 8, 8)
);
}
elseif ($x==1){
$lista = $file[$x];
$lote['Lote'][] = array(
'codigo_banco' => substr($lista, 0, 3),
'lote:'=> substr($lista, 3, 4),
'tipo_registro:'=> substr($lista, 7, 1),
'tipo_operacao:'=> substr($lista, 8, 1),
'tipo_servico:'=> substr($lista, 9, 2)
);
}
elseif ($x % 2){
$lista = $file[$x];
$segmento_u['Segmento_U'][] = array(
'codigo_banco' => substr($lista, 0, 3),
'lote:'=> substr($lista, 3, 4),
'tipo_registro:'=> substr($lista, 7, 1),
'n_sequencial:'=> substr($lista, 8, 5),
'codigo_segmento:'=> substr($lista, 13, 1),
'reservado_1:'=> substr($lista, 14, 1)
);
}
else {
$Dados = $file[$x];
$segmento['Segmento_T'][] = array(
'codigo_banco' => substr($Dados, 0, 3),
'lote:'=> substr($Dados, 3, 4),
'tipo_registro:'=> substr($Dados, 7, 1),
'n_sequencial:'=> substr($Dados, 8, 5),
'codigo_segmento:'=> substr($Dados, 13, 1)
);
}
}
$resultados = array($Cabecalho, $lote, $segmento_u, $segmento);
header("Content-Type: application/json");
$json_str = json_encode($resultados, JSON_PRETTY_PRINT);
echo $json_str;
?>