17. februar 2007 - 12:14
Der er
2 kommentarer og
1 løsning
Tid siden
Kan nedenstående script gøres smartere? Lige nu overskriver den jo bare, efter hver $key den når i mit $time-array. Hvordan kunne jeg finde ud af hvad der passer bedst?
$age = time()-$age;
$time = array(
'second' => $age,
'minute' => $age/60,
'hour' => $age/(60*60),
'day' => $age/(60*60*24),
'week' => $age/(60*60*24*7),
'month' => $age/(60*60*24*30),
'year' => $age/(60*60*24*365)
);
foreach( $time as $key => $value )
{
if( $value >= 1 )
{
$age = floor( $value ) . " {$key}" . ( $value >= 2 ? "s" : "" ) . " ago";
}
}
echo $age;
17. februar 2007 - 21:56
#2
Meningen er jo, at hvis der er tale om mere end 1 år, så skal den vise antal år, hvis der er tale om mere end 1 måned, så skal den vise antal måneder osv. Nu starter jeg jo fra sekunder, og sætter variablen efter sekunder, og bagefter tjekker jeg om der er tale om mere end 1 minut, og derefter overskriver $age med det osv.
Det er jo spild af 'tid', når jeg overskriver hele tiden. Der må da være en genial måde, at ordne det på, så jeg ikke er nødsaget til at overskrive unødvendigt data hver gang i løkken.