PHP - ayuda, imprimir valores con ciclo y no se repitan

   
Vista:

ayuda, imprimir valores con ciclo y no se repitan

Publicado por Johjan (1 intervención) el 06/12/2014 22:20:39
Buenas, tengo un problema al programar en php necesito imprimir combinaciones de ciertos valores sin que se repitan.. hasta el momento es lo que he avanzado.

1
2
3
4
5
6
7
8
9
10
11
<?php
for ($j=1; $j<=8;) {
$var1 = rand(1,2);
$var2 = rand(3,4);
$var3 = rand(5,6);
 
echo $combinacion = $var1.'-'.$var2.'-'.$var3 ;
$j++;
}
 
?>

hasta aqui me arroja 8 combinaciones aleatorias pero la idea es que me arroje todas las posibles combinaciones sin que se repitan alguna idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

ayuda, imprimir valores con ciclo y no se repitan

Publicado por xve (5513 intervenciones) el 07/12/2014 18:34:21
Hola Johjan, para que no se repitan, la única manera que se me ocurre, es que vayas guardando cada valor en un array, y compruebas que no se repitan...

Haber si te sirve este código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$combinaciones=array();
$j=0;
while($j<10)
{
	$var1 = rand(1,2);
	$var2 = rand(3,4);
	$var3 = rand(5,6);
 
	$combinacion = $var1.'-'.$var2.'-'.$var3 ;
	if(in_array($combinacion, $combinaciones))
	{
		#existe
	}else{
		#no existe
		$combinaciones[]=$combinacion;
	}
	$j++;
}
 
foreach($combinaciones as $combinacion)
{
	echo "<br>".$combinacion;
}
?>

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda, imprimir valores con ciclo y no se repitan

Publicado por Gonzalo (338 intervenciones) el 09/12/2014 00:39:35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
Class MySort
{
	function __construct($Array)
	{
 
		for($x=1;$x<=count($Array);$x++)
		{
			for($i=0;$i<count($Array)-1;$i++)
			{
				$Tmp=$Array[$i];
				$Array[$i]=$Array[$i+1];
				$Array[$i+1]=$Tmp;
				$this->PrintArray($Array);
			}
		}
	}
 
	function PrintArray($Array)
	{
		foreach($Array as $i=>$v)
		{
			echo($v." - ");
		}
		echo("<br>");
	}
}
 
$Array = array(1,2,3,4,5,6);
 
$Combinar= new MySort($Array);
?>
 
//define el array para que acepte el numero aleatorio.
// esta clase hacepta hasta N numeros en el array.
// algo asi como $Array= array(rand(5,6),rand(5,6),rand(5,6),rand(5,6));
suerte, salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar