Semplifico con un esempio.

Ho una tabella chiamata "favorito" con 3 campi: quota / arrivo / diff (dove "quota" e "diff" sono float) così popolato:
2.01 / 4 / 1.11
1.99 / 2 / 1.03
3.02 / 3 / 0.31
4.92 /1 / 0.78
3.75 / 1 / 0.29
1.46 / 1 / 3.18
1.95 /4 / 0.84

Questo è il codice
codice:
<?php
//connessione al db
 $query = "SELECT quota,arrivo,diff FROM favorito ";
             $result = (mysql_query($query, $db));
             while ($dati = mysql_fetch_array($result))
              {    
                     $quota = $dati['quota'];
                     $arrivo = $dati['arrivo'];
                     $diff = $dati['diff'];
                     
                     
                   
                                            $indice=$diff*100;
                                            $conta[$indice][$arrivo]=$conta[$indice][$arrivo]+1;  
                                            if ($arrivo==1) { $conta[$indice][5]=$conta[$indice][5]+$quota;}
                                           
                                            
                                          
     
                }
 ?><table width="90%" border="1" cellspacing="1" cellpadding="2"  bgcolor="#ecf2f6" align="center">
                                                                                      <tr><th><font size="4">VISUALIZZAZIONE PER DIFFERENZA DI QUOTA</font></th></tr>
                                                                                      
                                                                                      <table width="90%" border="1" cellspacing="1" cellpadding="2"  bgcolor="#f0fff0" align="center">
                                                                                      <thead>
                                                                                      <tr><th width="32%"><h3>diff. quota</h3></th>
                                                                                             <th width="34%"><h3>vittorie</h3></th>
                                                                                             <th width="34%"><h3>corse disputate</h3></th> 
                                                                                             
                                                                                        </tr></thead><tbody>
                                                                                  
                                                 <?php  
                                                 //qua serve il for per stampare le righe
                                                for ($i=0; $i<=5000; $i++)
                                                {    
                                                     //occore vedere che la singola riga abbia almeno una corsa
                                                     $cd=$conta[$i][1]+$conta[$i][2]+$conta[$i][3]+$conta[$i][4];
                                                    
                                                     $conta[$i][6]=substr($conta[$i][6],0,-1);
                                                     if ($cd>0) { ?> 
                                                                                 
                                                                                <tr><td><center><?php echo number_format($i/100,2,'.',''); ?></center></td>
                                                                                <td><center><?php echo $conta[$i][1]; ?></center></td>
                                                                                <td><center><?php echo $cd; ?></center></td>
                                                                                
                                                                               </tr><?php 
                                                                        }     
                                                  } 
                                              
                                    echo ("</tbody></table>


</p>");
In pratica deve fornire poi un ordine per differenza ed essendo variabili con 2 decimali dopo la virgola ho pensato di moltiplicarlo per 100 così da avere un array che poi diventa bidimensionale perché ciascun "arrivo" può assumere valori 1, 2, 3 o 4.

I valori delle "diff" sono
1.11
1.03
0.31
0.78
0.29
3.18
0.84
ma quando viene visualizzata la tabella esce così
0.28 1 1
0.31 1
0.78 1 1
0.84 1
1.03 1
1.11 1
3.18 1 1
In pratica lo 0.29 mi diventa 0.28.

Perché??????