Foros del Web » Programando para Internet » PHP »

Combinacion sin repetir de arreglos

Estas en el tema de Combinacion sin repetir de arreglos en el foro de PHP en Foros del Web. Buenas amigos que tal Deseo hacer un pequeño codigo en php en el que me permita dividir elementos de un arreglo en varios grupos Quiero ...
  #1 (permalink)  
Antiguo 20/01/2015, 21:15
 
Fecha de Ingreso: octubre-2014
Mensajes: 13
Antigüedad: 9 años, 6 meses
Puntos: 0
Combinacion sin repetir de arreglos

Buenas amigos que tal

Deseo hacer un pequeño codigo en php en el que me permita dividir elementos de un arreglo en varios grupos

Quiero hacer algo parecido a este ejemplo que les pondré

Tengo un Arreglo con 16 valores (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)

Quiero que ese arreglo se divida en 4, y que me muestre los resultados de forma aleatoria.

Ejemplo: Parte 1 del Arreglo: 3,7,2,11
Parte 2 del Arreglo: 1,16,4,9
Parte 3 del Arreglo: 6,8,5,10
Parte 4 del Arreglo: 12,13,14,15

Algo asi quiero que me muestre de resultado, y que no se repitan los resultados ni uno de los valores.

Gracias.

Código PHP:
<?php
$entrada 
= array("Neo""Morpheus""Trinity""Cypher""Tank");
$claves_aleatorias array_unique(array_rand($entrada4));
echo 
$entrada[$claves_aleatorias[0]] . "\n";
echo 
$entrada[$claves_aleatorias[1]] . "\n";
echo 
$entrada[$claves_aleatorias[2]] . "\n";
echo 
$entrada[$claves_aleatorias[3]] . "\n";
?>
He empezado con algo asi, no se que mas hacer, ayudenme. Gracias
  #2 (permalink)  
Antiguo 20/01/2015, 21:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Combinacion sin repetir de arreglos

Pues creo que estás usando las funciones equivocadas, con shuffle() y array_chunk() debería bastar:
Código PHP:
Ver original
  1. $array = range(1, 16); // simulamos el array
  2.  
  3. shuffle($array);
  4.  
  5. $chunks = array_chunk($array, 4); // cortamos en 4 partes
  6.  
  7. var_dump($chunks);

¿Se entiende la idea?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/01/2015, 07:54
 
Fecha de Ingreso: octubre-2014
Mensajes: 13
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Combinacion sin repetir de arreglos

Si, voy entendiendo eso. La pregunta es, como hago eso para una cadena String?

Yo tengo nombres de 16 personas y quiero dividirlas en esos 4 grupos. No se que haria en ese caso, por eso es que estaba intentando con el codigo que coloque al inicio del tema
  #4 (permalink)  
Antiguo 21/01/2015, 08:40
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Combinacion sin repetir de arreglos

Igual que como te han dicho....

Código PHP:
Ver original
  1. $array = array("pepe", "fulano", "mengano", "carlos"....);
  2.  
  3. shuffle($array);
  4.  
  5. $chunks = array_chunk($array, 4); // cortamos en 4 partes
  6.  
  7. var_dump($chunks);
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 21/01/2015, 10:52
 
Fecha de Ingreso: octubre-2014
Mensajes: 13
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Combinacion sin repetir de arreglos

Perfecto, ahora otra pregunta como hago para mostrar los resultados de var_dump de forma mas amigable?
  #6 (permalink)  
Antiguo 21/01/2015, 10:58
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Combinacion sin repetir de arreglos

utiliza un foreach: http://php.net/manual/en/control-structures.foreach.php
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 21/01/2015, 11:29
 
Fecha de Ingreso: octubre-2014
Mensajes: 13
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Combinacion sin repetir de arreglos

Como hago para pasar de este resultado

array(4) {
[0]=>
array(4) {
[0]=>
string(6) "1"
[1]=>
string(6) "12"
[2]=>
string(6) "4"
[3]=>
string(6) "10"
}

A este

1
12
4
10

No tengo idea, nunca he usado var_dump
  #8 (permalink)  
Antiguo 21/01/2015, 11:36
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Combinacion sin repetir de arreglos

var_dump es solo para visualizar información relacionada con una variable. Así que si quieres presentar el resultado de otra forma necesitas iterar el arreglo mediante un ciclo, generalmente usas un ciclo foreach para lo que quieres hacer (pero no esta limitado).
Si no sabes, para eso esta el manual:
http://php.net/manual/en/control-structures.foreach.php
tiene ejemplos didácticos
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: arreglos, repetir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:24.