Read txt file and save in PHP array

0

I have a txt file, where the data is separated by | .

I would like to read and separate content from within each pair of | into a position of a vector. But it does not print when I put print_r out of while .

<?php
    $arquivo = fopen ('arq.txt', 'r');
    $result = array();
    while(!feof($arquivo)){
        $result = explode("|",fgets($arquivo));
    }
    fclose($arquivo);
    print_r($result);
?>
    
asked by anonymous 04.12.2018 / 17:44

1 answer

0

Then, a small explanation of each line so that you can situate yourself in the code itself:

    <?php
    // Aqui você abre e lê o arquivo
    $arquivo = fopen ('arq.txt', 'r');
    // Aqui você está definindo que a variável é um 'array()'
    $result = array();
    // Você agora irá verificar se existe o arquivo e se o código acim o leu (true|false)
    while(!feof($arquivo)){
        // Aqui foi onde você errou, pois seria '$result[]' e não '$result'
        $result[] = explode("|",fgets($arquivo));
    }
    // Fechando a leitura do arquivo
    fclose($arquivo);
    // Postando resultados
    print_r($result);
?>

The clean code would look like:

    <?php
    $arquivo = fopen ('arq.txt', 'r');
    $result = array();
    while(!feof($arquivo)){
        $result[] = explode("|",fgets($arquivo));
    }
    fclose($arquivo);
    print_r($result); 
?>

In case, you forgot to define that the variable inside while is still a array() , so it will not pull any result.

    
04.12.2018 / 17:57