Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    77

    php per incroci genetici

    Ho bisogno di una mano per ripulire la parte di un codice che ho scritto qualche tempo fa per incrociare dei dati genetici (chi si ricorda i fagioli di Mendel?)
    Per farvela breve:
    avendo due input (es: RR rosso e bb bianco) li scompongo e li incrocio in modo da ottenere tutte le combinazioni possibili (in questo caso Rb Rb Rb Rb).

    Il risultato (Rb Rb Rb Rb) è contenuto in un array che chiamo $risultato.

    A questo punto avevo pensato di restituire l'output in questo modo, ma forse con il vostro aiuto esce qualcosa di meglio. Il mio script gestisce stringhe di 8 cifre, che dovrei aumentare, e quindi tantissime combinazioni.

    Codice PHP:
    for ($i 0$i count ($risultato); $i++)   
    $cont[$risultato[$i]]++;} 

    if (
    $cont['RR'] > 0) echo ($cont['RR'] * 100 count ($risultato)) . '% rosso';
    if (
    $cont['bb'] > 0) echo ($cont['bb'] * 100 count ($risultato)) . '% bianco';
    if (
    $cont['Rb'] > 0) echo ($cont['Rb'] * 100 count ($risultato)) . '% rosa'

    Vorrei evitare di scrivere una riga per ogni eventuale combinazione.
    Quello che ho pensato (ma non so fare) è di assegnare una descrizione ad ogni valore (es RR>rosso, bb>bianco,...) e estrarre i risultati tramite un ciclo. Quanto é fattibile?
    Grazie per qualsiasi spunto o suggestione!
    Ultima modifica di gphp; 01-04-2014 a 19:02

  2. #2
    Se vuoi che RR, bb, e Rb siano trascritte in "rosso","bianco","rosa", sicuramente devi avere una relazione Combinazione => Label (un array chiave => valore ) hardcoded nello script... altrimenti come label usi il nome della combinazione e poi sarà chi legge a capire che vuol dire
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.