Walck 0 Denunciar post Postado Maio 5, 2009 Bom dia amigos, estou importando dados de um arquivo txt, o problema é que este arquivo vem com algumas linhas repetidas, teria como eu verificar e excluir estas linha no array que é criado ou msm no arquivo? $arq = fopen($arquivo,'r');// le o arquivo txt $linha = explode(' ', $conteudo);// divide por coluna onde tiver Tab $linha[5] = trim($linha[5]); // Tira espaços ao redor de $linha[5] $linha[7] = trim($linha[7]); // Tira espaços ao redor de $linha[7] $linha[32] = trim($linha[32]); // Tira espaços ao redor de $linha[31] $linha[38] = trim($linha[38]); // Tira espaços ao redor de $linha[38] Valeu pela força rapaziada.!!!! Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 5, 2009 array_unique() Compartilhar este post Link para o post Compartilhar em outros sites
Walck 0 Denunciar post Postado Maio 5, 2009 obrigado pela resposta , mas to confuso aqui, vi no manual como aplicava este array_unique() , mas não sei aonde coloco pra que ele evite as linhas repetidas, pois é feito um while para depois ser gravado no bd... obrigado tipow meu cod esta assim: $arq = fopen($arquivo,'r');// le o arquivo txt $k = 0; while( $conteudo = fgets($arq) ){ if( $k > 0 and trim( $conteudo ) != '' ){ $rand = mt_rand() . "\n"; $linha = explode(' ', $conteudo);// divide por coluna onde tiver ponto e virgula $linha[5] = trim($linha[5]); // Tira espaços ao redor de $linha[5] $linha[7] = trim($linha[7]); // Tira espaços ao redor de $linha[7] $linha[32] = trim($linha[32]); // Tira espaços ao redor de $linha[31] $linha[38] = trim($linha[38]); // Tira espaços ao redor de $linha[38] $sql = "INSERT INTO `".$tabela."` (`id`, `empresa`, `email`, `grupo_id`, `regiao_id`, `rand`, `status` ) VALUES ('', '" . $linha[5] . "', '" . $linha[32] . "', '" . $grupo . "', '" . $regiao . "', '".$rand."', '0')"; Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 6, 2009 para simplificar o uso sugiro que nesse trecho while( $conteudo = fgets($arq) ){ troque por isso $conteudo = file( $arq ); foreach( $conteudo as $k => $v ){ nesse trecho $linha = explode(' ', $conteudo);// troque por $linha = trim_r( explode(' ', $v) );// adicione (fora do loop) a função recursiva para trim() function trim_r( $value ) { $value = is_array( $value ) ? array_map( 'trim_r', $value ) : trim( $value ); return $value; } remova todo esse trecho $linha[5] = trim($linha[5]); // Tira espaços ao redor de $linha[5] $linha[7] = trim($linha[7]); // Tira espaços ao redor de $linha[7] $linha[32] = trim($linha[32]); // Tira espaços ao redor de $linha[31] $linha[38] = trim($linha[38]); // Tira espaços ao redor de $linha[38] Compartilhar este post Link para o post Compartilhar em outros sites