Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Abre o arquivo .csv
- $dados = fopen("./dados.csv","r");
- // Se o arquivo foi carregado com sucesso...
- if ($dados) {
- // Realiza a leitura da primeira linha do csv, a qual contém apenas os
- // nomes das colunas
- $colunas = explode(";",Trim(fgets($dados)));
- // Para cada linha do arquivo...
- while ($linha = fgets($dados)) {
- // Separa cada elemento da linha em um array para fácil acesso de
- // cada valor
- $valores = explode(";",Trim($linha));
- // Cria uma instância de um objeto vazio, pois cada elemento útil do
- // array será um objeto
- $registro = new stdClass();
- // Varre o array de colunas a fim de incluir, para cada uma delas,
- // um atributo com seu nome no objeto registro, ao mesmo tempo em
- // que atribui o valor correspondente que vem do array valores
- for ($i = 0; $i < count($colunas); $i++) {
- $registro->$colunas[$i] = Trim($valores[$i]);
- }
- // Com o código original, cria um elemento associativo e ediciona
- // neste um item de array com o objeto registro recém criado. Usando
- // codigo original como associação permite que o arquivo não esteja
- // em ordem, pois toda vez que o fluxo de execução passar na linha
- // abaixo, automaticamente será selecionado o elemento de arrayFinal
- // correto (codigo original)
- $arrayFinal[$registro->codigo_original][] = $registro;
- }
- // Faça o que quiser com arrayfinal. Aqui eu simplesmente exibo o valor
- print_r($arrayFinal);
- }
- // Fecha o arquivo de dados
- fclose($dados);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement