Jump to content

Pedro_adm

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About Pedro_adm

  1. 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; ?>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.