05. marts 2010 - 15:05
Der er
4 kommentarer og
1 løsning
Fejl i dato funktion?
Denne funktion skriver winter men bør den ikke skrive spring nu?
function getSeason($hemisphere, $month=null)
{
$month = is_null($month) ? date('m') : $month;
/*** northern hemisphere seasons ***/
$northern=array(
'summer' => array(6, 7, 8),
'autumn' => array(9, 10, 11),
'winter' => array(12, 1, 2),
'spring' => array(3, 4, 5)
);
/*** loop over the hemisphere ***/
foreach($$hemisphere as $key=>$val)
{
if(in_array($month, $val))
{
return $key;
}
}
return false;
}
/*** show season of december in the northern hemisphere ***/
echo getSeason('northern', 12);
Slettet bruger
05. marts 2010 - 15:28
#1
Prøv at bruge date("n") istedet for date("m") da den vil give et ét cifret resultat (1-12) i 9 ud af 12 måneder, hvorimod "m" altid giver to cifre (01-12). Ved ikke om det har nogen reel betydning, men vel værd at prøve af.
05. marts 2010 - 16:13
#2
Du kunne jo også starte med ikke at skrive 12 for måned.
Den 12. måned er en vinter måned.
Prøv:
echo getSeason('northern');
eller:
echo getSeason('northern', 3);
Slettet bruger
05. marts 2010 - 17:16
#3
Det selvfølgelig rigtig hvad dkfire siger hvis altså det er eksemplet du slutter af med at skrive, du bruger.