Jump to content
Biel.

dizer se tem ou não dados repetidos no array

Recommended Posts

Olá pessoal. Direto ao ponto. EX1 imprime dados repetidos. EX2 não imprime dados repetidos. Que função uso no  EX1 para imprimir somente dados não repetidos? Obrigado !

 

EX1

<?php 
$a=1;
$b=2;
$c=1;
$d=4;
$e=5;
$imprime=$a.'<br>'.$b.'<br>'.$c.'<br>'.$d.'<br>'.$e;
print $imprime;
?>

EX2

<?php 
$a=1;
$b=2;
$c=3;
$d=4;
$e=5;
$imprime=$a.'<br>'.$b.'<br>'.$c.'<br>'.$d.'<br>'.$e;
print $imprime;
?>

 

Share this post


Link to post
Share on other sites

Biel, saudações...

 

Embora não colocou a sua rotina para podermos auxiliar em sua dúvida.

 

Vou tentar te ajudar.

 

Para impressão ou qualquer outra rotina que queira usar para não repetir dados, você poder usar a função do MySql: Group By

Essa função irá agrupar todos os Campos na sua Base de Dados como por exemplo:
id = 1 --- cod: 2

id = 2 --- cod: 1

id = 3 --- cod: 3

id = 4 --- cod: 2

id = 5 --- cod: 1

 

Explicando o  sql:

   SELECT coluna_nome(s)
   FROM tabela_nome
   WHERE condição
   GROUP BY coluna_nome(s)
   ORDER BY coluna_nome(s)

 

O Seu SQL ficaria assim:
    SELECT * FROM produto
    GROUP BY cod_categoria   //aqui vai agrupar todos os campos iguais
    ORDER BY codprod ASC;    //ordem de impressão

 

Espero ter ajudado.

 

Cesar

 

 

Share this post


Link to post
Share on other sites

Violin, toda sugestão construtiva é bem vinda. O que quero fazer é com php puro sem mysql. Quero apenas que o código php abaixo dica se tem ou não dados duplicado  no array

<?php 
$dados = array("1", "2", "1", "4", "5");
for($i=0; $i<count($dados), $i++{
  //print 'tem dados duplicado no array'; 
  //print 'não tem dados duplicado no array'; 
}   
?>

 

 

Share this post


Link to post
Share on other sites

Ola @Biel. seria isso que precisa

 

<?
//OUTRA FORMA AQUI
$dados = array("Biel 1", "Biel 2", "Biel 1",  "Biel 1", "Biel 4", "Biel 5");

$DadosNovaArray = array();
foreach ($dados as $key => $value) {
    if(isset($DadosNovaArray[$value]))
        $DadosNovaArray[$value] += 1;
    else
        $DadosNovaArray[$value] = 1;
}
foreach ($DadosNovaArray as $ResultadoDuplicado => $ResultadoNaoDuplicado) {
    echo '<strong>Duplicada:</strong> '.$ResultadoDuplicado; //tem dados duplicado no array
    if($ResultadoNaoDuplicado > 1)
        echo "($ResultadoNaoDuplicado)"; //não tem dados duplicado no array
    echo "<br />";
}
?>
<? 
//OUTRA FORMA AQUI
$dados = array("New1", "New2", "New3", "New4", "New1", "New2");
$Contagem = 0;
$Resultado ='';
$CheckedValueArray = array();
for ($i=0; $i < count($dados); $i++) {
    $NovaArray = $dados[$i];
    if(! in_array($NovaArray, $CheckedValueArray)) {
        for( $j=$i; $j < count($dados); $j++) {
            if ($dados[$j] === $NovaArray) {
                $Contagem++;
            }
        }
        $CheckedValueArray[] = $NovaArray;
		
		
		if ($Contagem > 1) {
			//tem dados duplicado no array
			$Resultado .= "<strong>Original: </strong> " .$NovaArray. " <strong>Repetida: </strong> ". $NovaArray." é Duplicada<br/>"; 
				
       
		}else{
			//não tem dados duplicado no array
		 $Resultado .= "<strong>Original: </strong> " .$NovaArray. "<br/>";  
		 
		}
        $Contagem = 0;
    }

}

echo $Resultado;
?>

Espero que uns deste 2 exemplos ai ajuda em algo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Biel.
      Olá pessoal. Direto ao ponto. O código abaixo captura o texto digitado no campo textarea. Até aqui tudo ok.  Podemos ver o resultado teclando f12 e depois ir na aba elements
      Como capturar tag br ao teclar enter e exibindo na aba elements este resultado:
      texto qualquer  <br>
      vamos com calma  <br>
      tranquilidade sempre  <br>
      <textarea name="textodigitado" id="textodigitado" onkeydown='eventoDoTeclado()' ></textarea> <script> //var capturar = ""; function eventoDoTeclado () { var capturar = document.getElementById('textodigitado').value; document.getElementById('textodigitado').innerHTML = capturar; //var br = document.createElement("<br>"); //var br = document.createElement('br'); } </script>  
    • By Biel.
      Olá pessoal. Como remover comentários css de forma eficiente e imprimir somente o conteúdo?  Vejam:
       
      $comentario="body{ background-color:#EBEBEB; /* #D41FFF */ } .divA{ max-width:1024px; /* 1024px 1100px */ z-index:1; } .divB{ max-width:600px; /*500px*/ position:fixed; /* comentário css com quebra de linha */ z-index:1; } "; //$comentario = preg_replace('/\/\*[^>]*\*\//', '', $comentario); // comentario css $comentario = preg_replace('/\/*[^>]*\//', '', $comentario); // comentario css echo $comentario; ?>  
    • By Biel.
      Olá pessoal. Direto ao ponto.  Abaixo temos EX1  e EX2  .  Ex1 ao teclar f12 na pagina1 altera normalmente na pagina2  textoA  para textoB
      Como obter o mesmo resultado no EX2 ou seja  teclar f12 na pagina4 e alterar na pagina5  alunoA  para alunoB
      EX1
      esta é a página1.php com seu contéudo <?php $fp = fopen('pagina2.php', 'c'); fwrite($fp, 'textoB' ); //unlink($fp); //feof($fp); //fclose($fp); ?> esta é a pagina2.php com seu contéudo textoA vamos com valma ..
      EX2
      esta é a página4.php com seu contéudo <?php $fp = fopen('pagina2.php', 'c'); //$fp = rename($fp,"xxxxx" , "xxxxx"); //$fh = rename("xxxxx" , "xxxxx"); ?> esta é a pagina5.php com seu contéudo vamos com alunoA na ofensiva e com força  
    • By Biel.
      Olá pessoal. Direto ao ponto. Dentro da pastaPrincipal temos pasta1 ,  teste.php e aplicativo.php  . Quando teclo f12 em teste.php renomeia normalmente aplicativo.php para software.php  . Como renomear  aplicativo.php para software.php que porventura também exista na pasta1 ?
       
      caminho C:\Apache24\htdocs\pastaPrincipal \pasta1\
      esta é a pagina teste.php que está na pastaPrincipal  <?php $caminho="C:/Apache24/htdocs/pastaPrincipal/pasta1"; @$file = rename("aplicativo.php" , "software.php"); echo "renomeou"; ?>  
    • By Biel.
      Olá pessoal. Direto ao ponto. Renomear arquivo6.php para arquivo7.php 
      caminho C:/Apache24/htdocs/pastaPrincipal/ 
      Ex2 <?php if(isset($_POST['enviar'])){?> <?php @$nome1 = $_POST["nome1"]; @$nome1 = rename($nome1); @$nome2 = ($_POST['nome2']); echo "renomeou"; ?> <?php }?> <form action="" method="post" > renomear pasta - testando<br> <input type="text" name="nome1" ><br> <input type="text" name="nome2" > <input type="submit" name="enviar" value="ok"> </form>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.