PHP - Todas las combinaciones de un vector

 
Vista:
sin imagen de perfil
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Todas las combinaciones de un vector

Publicado por Juan (5 intervenciones) el 09/04/2019 15:05:39
Hola!

Me gustaría hacer lo siguiente. A partir de una entrada como:

$vector = array['a', 'b', 'c'];

Cómo conseguimos mostrar por pantalla:

a, b, c
a, c, b
b, c, a
b, a, c
c, a, b
c, b, a

Alguna idea?


Gracias!
Un saludo
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Todas las combinaciones de un vector

Publicado por Kathyu (905 intervenciones) el 09/04/2019 22:17:39
Su vista
1
2
3
4
5
6
7
$input=array('a','b','c');
 
$resultado=$querys->permutar($input);
for($f=0;$f<count($resultado);$f++){
    echo $resultado[$f];
    echo "<br>";
}

Su archivo procesador
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
function permutar($input){
	$miarray = array();
	$cadena="";
	//copio el array
	$temporal=$input;
	//borro el primer numero del array
	array_shift($input);
	//ahora la cuenta esta en que solo quedan 3
	for($u=0;$u<count($temporal);$u++){
		for($i=0;$i<count($input);$i++){
			array_push($input,$input[0]);
			array_shift($input);
				for($e=0;$e<count($input);$e++){
					$cadena.=$input[$e];
				}
			array_push($miarray,$temporal[$u].$cadena);
			array_push($miarray,$temporal[$u].strrev($cadena));
			$cadena="";
 
		}
	array_shift($input);
	array_push($input,$temporal[$u]);
	}
	return $miarray;
}


Resultado
1
2
3
4
5
6
7
8
9
10
11
12
acb
abc
abc
acb
bac
bca
bca
bac
cba
cab
cab
cba
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Todas las combinaciones de un vector

Publicado por Juan (5 intervenciones) el 10/04/2019 09:20:09
Muchísimas gracias!

Voy a estudiar este código, porque hay funciones que no estoy acostumbrado a usar y veo que me facilitarían mucho la vida si estuviera más al día. De nuevo muchísimas gracias!


Un saludo
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