Olá!

PHP é uma linguagem fantástica com inúmeros recursos nativos que facilitam e entrega alta performance.

Uma dessas funções é a str_getcsv, responsável por ler um arquivo csv e converter seus valores em um array.

Versões do PHP suportadas: PHP 5 >= 5.3.0 e PHP 7

Assinatura da função:

1
  str_getcsv ( string $input [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\" ]]] )

Retorno da função:

array

Parâmetros da função:

  • input: Srting a ser analisada.
  • delimiter: Define o delimitador (somente um caractere).
  • enclosure: Define o enclosure (somente um caractere).
  • escape: Define o caractere de escape (no máximo um caractere). O valor padrão é a barra invertida () Uma string vazia (“”) desabilita o mecanismo de escape.

Exemplo de uso:

Para seguir com o exemplo, é necessário criar um arquivo chamado example.csv na raiz do projeto e inserir o conteúdo:

1
2
3
4
  line 01 cell 01,line 01 cell 02,line 01 cell 03
  line 02 cell 01,line 02 cell 02,line 02 cell 03
  line 03 cell 01,line 03 cell 02,line 03 cell 03
  line 04 cell 01,line 04 cell 02,line 04 cell 03

Após criação do arquivo csv, deve-se criar o arquivo index.php com o seguinte conteúdo.

1
2
3
4
5
6
7
8
9
  <?php

  // carregamos o arquivo csv
  $csv_file = file('example.csv');

  // mapeamos todo o conteúdo para nossa variável
  $array_csv = array_map('str_getcsv', $csv_file); 
  // exibimos o conteúdo da nossa variável
  var_dump($array_csv);

Para executar o scrtipt, será utilizar o servidor embutido para isso abra o terminal na raiz do projeto e digite o seguinte comando.

1
  php -S localhost:8080 index.php

Acesse o navegador de sua preferência e insira a url localhost:8080 e como resultado teremos a seguinte exibição**.**

Resultado da função

Como podemos observar, de forma simples obtivemos todo o conteúdo do arquivo csv em um array, porém devo salientar cautela pois deve-se tomar cuidado com a quantidade de informações a serem armazenadas no array, onde deve ser levado em consideração as configurações do PHP e o hardware da máquina ao qual o mesmo encontra-se, para que assim não acarrete em um erro de limite de memória ou informações no array.

Espero que tenham apreciado e que o conteúdo do post venha ser  útil em seus projetos.

Até a próxima e sucesso em seus projetos.