Ir para conteúdo
Fórum Script Brasil
  • 0

Erro variável indefinida array


Leo_php

Pergunta

Prezados! Possuo uma tabela excell com dados de email, nome etc.
Estou tentando extrai somente os email gerar um email por linha.
Veja um exemplo abaixo de como está no excel em uma única coluna:

email,firstname,lastname,birthdate,city,country,gender,organizationname,phone,title,state,postalcode
vagner.stefani@terra.com.br,,,,,,,,,,,
esterstefani@terra.com.br,,,,,,,,,,,
contato@r3revestimentos.com,,,,,,,,,,,
celia.graberth@risatec.com.br,Celia,,,,,,,,,,
mariana.ayres@brascomexgroup.com,,,,,,,,,,,
julyana.goldner@brascomexgroup.com,,,,,,,,,,,
andrea@receptur.com.br,ANDREA WEN CHING CHUNG LEIMAN,,,,,,,,,,

Na hora de rodar o script gera o seguinte erro
Notice: Undefined variable: email in C:\xampp\htdocs\diversos\manipular_csv\manipular_02.php on line 10
Notice: Undefined offset: 5842 in C:\xampp\htdocs\diversos\manipular_csv\manipular_02.php on line 9

<?php
header("Content-Type: text/html; charset=utf-8");

$contents = file_get_contents('arquivo/teste.csv');  //escolho arquivo para manipulção
$arr_linhas = explode("\n", $contents); // transformo em array nas quebras de linhas
$total_linhas = count($arr_linhas); // contar o número de linhas

for ($i = 0; $i <= $total_linhas; $i++){ // enquando a variável i for menor ou igual ao número de linhas (arrays) executar o for
    $arr_linhas02 = explode(",", $arr_linhas[$i]); // fazer explosão nas virgulas  
    $email .= $arr_linhas02[0]."\n";    
}
$filename = 'arquivo/outro_teste.csv';
file_put_contents($filename, $email);
Editado por Leo_php
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Salvo engano, o count() retorna o valor real de campos. Ex.: Se o array é composto por {1,2,3,4}, count() retorna 4. Por isso, na hora de colocar no for, tira o <=

Vai ficar assim

for ($i = 0; $i < $total_linhas; $i++)

E o segundo ponto é que o sistema não reconhece a variável $email.

tenta instanciar ela nula antes de tudo

$email = "";
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...