Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Walck

Excluir registro repetidos no array

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.