ciao a tutti
un po di codice se serve a qualcuno
funzione che trasforma un numero decimale in ore minuti secondi
estrazione di numeri random senza ripetizione
potete usarle (e migliorarle) le ho fatte io
un po di codice se serve a qualcuno
funzione che trasforma un numero decimale in ore minuti secondi
PHP:
<?php
function trasforma_ore($decimale,$Ro){ //decimale = ore in decimale, Ro arrotondamento dei secondi
$ore=(int)$decimale; //ore numero intero sessagesimale
$minutiDec=($decimale-$ore)*60;//minuti in decimale
if($ore==0){$ore="00";}elseif($ore<10){$ore="0".$ore;}
$minuti=(int)$minutiDec; //minuti in sessagesimale
$secondi=($minutiDec-$minuti)*60; //secondi in sessagesimale con frazioni di secondo
if($minuti==0){$minuti="00";}elseif($minuti<10){$minuti="0".$minuti;}
$secondi=round($secondi,$Ro);
$divisore=":"; //oppure scegliere altro
//$ritorna= $ore.$divisore.$minuti.$divisore.$secondi;
$ritorna= $ore."h ".$minuti."'".$secondi."\""; //alternativa alla precedente
return $ritorna;
}
echo "esempio<br><br>";
$velocita= 47.32; //km/h
$distanza = 3; //km
$tempoDec= $distanza/$velocita; //risultato in ore decimali = 9.464
$Arro=0; //non voglio decimali per = 1 decimi di sec, =2 centesimi. =3 millesimi
$tempo= trasforma_ore($tempoDec,$Arro);
echo "per percorrere ".$distanza." km alla velocità di ".$velocita." km/h impiego ".$tempo." (ore:min:sec)";
?>
estrazione di numeri random senza ripetizione
PHP:
<?php
//estrae N numeri casuali da min a Max senza ripetizione
$casuale= array(); //contenitore numeri random
$min=1; //minimo del range numeri casuali
$Max=20; //massimo del range
//se da min e Max da form inserire verifica min < Max
//$quanti=$Max-$min+1; //quanti numeri mi servono
$quanti=5; //quanti numeri mi servono alternativa alla precedente
//se da form inserire verifica quanti > zero
$j = 1; //salto lo zero per comodità
while( $j <= $quanti){ //inizio a ciclare i numeri
$casuale[$j] = rand($min, $Max); //estraggo il numero casuale
if ($j > 1){ // ho gia estratto almeno un numero
for ($n = 1 ; $n < $j; $n++){ //guardo i numeri da uno a enne-uno
for ($m = $n+1; $m <= $j; $m++){ //guardo i numeri da due a enne
if ($casuale[$n] == $casuale[$m]){ //confronto il numero N con i successivi estratti
$j--; //se trovo due numeri uguali decremento J
}
}
}
}
$j++; //incremento j di uno
} // fine while
/* ciclo di prova----------------------------*/
for ($k = 1; $k <= $quanti; $k++){
echo "<br> n° ".$k." casuale = ".$casuale[$k];
}
?>
potete usarle (e migliorarle) le ho fatte io
Ultima modifica: