Foros del Web » Programando para Internet » PHP »

Intercalar de forma repartida los valores de dos o más arrays en uno (mezclar adn)

Estas en el tema de Intercalar de forma repartida los valores de dos o más arrays en uno (mezclar adn) en el foro de PHP en Foros del Web. Hola buenas noches a todos, estoy buscando una función, para intercalar de forma repartida los valores de dos o más arrays en uno. Quiero es ...
  #1 (permalink)  
Antiguo 10/12/2014, 18:58
Avatar de Etherman  
Fecha de Ingreso: abril-2011
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 2
Intercalar de forma repartida los valores de dos o más arrays en uno (mezclar adn)

Hola buenas noches a todos, estoy buscando una función, para intercalar de forma repartida los valores de dos o más arrays en uno.

Quiero es mezclar 4 adns:

Código PHP:
Ver original
  1. $cromosoma_padrehumano = Array(x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x);
  2. $cromosoma_madrehumana = Array(y,y,y,y,y,y,y,y);
  3.  
  4. $cromosoma_padrepleyadiano = Array(n,n,n,n,n);
  5. $cromosoma_madrepleyadiana = Array(j,j,j,j,j,j,j,j,j,j);


En la secuencia del genóma de los hijos, algo así usando la función que no conozco:

Código PHP:
Ver original
  1. $cromosoma_hijohumano = (x,x,x,y,x,x,x,y,x,x,x,y,x,x,x,y,x,x,x,y,x,x,x);
  2. $cromosoma_hijopleyadiano = (j,j,n,j,j,n,j,j,n,j,j,n,j,j);


Código PHP:
Ver original
  1. $cromosoma_hibrido =  //resultado de los 4 dns

Probablememnte los extraterrestres que hacen abducciones no usan php jejejej

me gustaría que el resultado saliera del cromosoma de los 4 padres directamente, espero que se haya entendido. Mil gracias.

Última edición por Etherman; 10/12/2014 a las 19:11
  #2 (permalink)  
Antiguo 10/12/2014, 19:38
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Intercalar de forma repartida los valores de dos o más arrays en uno (mezc

Lo hice medio a la rapida fijate si te sirve.

Código PHP:
Ver original
  1. $cromosoma_padrehumano = array("x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x");
  2.     $cromosoma_madrehumana = array("y","y","y","y","y","y","y","y");
  3.      
  4.     $cromosoma_padrepleyadiano = array("n","n","n","n","n");
  5.     $cromosoma_madrepleyadiana = array("j","j","j","j","j","j","j","j","j","j");
  6.    
  7.     function union($array_mayor,$array_menor,$limit){
  8.         $i = 0;
  9.         foreach($array_mayor as $r){
  10.             $new_array[] = $r;
  11.             if($i==$limit){
  12.                 $new_array[] = $array_menor[$i];
  13.                
  14.             }else if($i==($limit+1))
  15.                 $i=0;        
  16.             $i++;
  17.         }
  18.         return $new_array;
  19.     }
  20.     echo "<pre>";
  21.     var_dump(union($cromosoma_padrehumano,$cromosoma_madrehumana,2));
  22.     echo "</pre>";
  23.    
  24.     echo "<pre>";
  25.     var_dump(union($cromosoma_madrepleyadiana,$cromosoma_padrepleyadiano,1));
  26.     echo "</pre>";

Tiene un par de errores, revisalo bien.

Última edición por Maganius; 10/12/2014 a las 20:18
  #3 (permalink)  
Antiguo 10/12/2014, 20:36
Avatar de Etherman  
Fecha de Ingreso: abril-2011
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Intercalar de forma repartida los valores de dos o más arrays en uno (mezc

Muchas gracias maganius, lo he estado probando, y si que reparte, pero mete más cromosomas de los que hay..
en realidad pueden ser un numero indeterminado de padres y cromosomas en un solo hijo... ¿eso es un problema?

Última edición por Etherman; 10/12/2014 a las 20:43
  #4 (permalink)  
Antiguo 11/12/2014, 14:29
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Intercalar de forma repartida los valores de dos o más arrays en uno (mezc

En realidad pensando mejor la funcion no te va a servir ya que esta mal hecha, para esa funcion siempre debe tener una condición y es que el array_menor debe ser multiplicado por $limit ejemplo

si el array_menor tiene 5 valores y el $limit es 3 el array_mayor debe contener al menos 15 values de lo contrario no funcionará.

$array_menor*$limit = cantidad de $array_mayor

será cuestion de hacerlo distinto

Etiquetas: Ninguno
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 14:54.