Frågan 29 juni 2008 21:21 #1 Hej svejs,
Jag vill skriva ut detta:
2008
Juni
Maj
April
Mars
Februari
Januari
2007
December
November
...
Från aktuell månad och 23 månader bakåt.
Det har rört ihop sig lite i huvudet och kommer inte på någon bra lösning på mitt problem.
Någon som har tips?
Tack!
HiDensity skrev:
date
Ja, men nu är det själva loopen jag inte vet hur den ska se ut...
M metalboy Medlem sedan jan. 2005 953 inlägg Ett exempel:
<?php
$year = '';
$months = array('Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December');
for ($i = 0; $i <= 23; $i++) {
$time = strtotime("-$i months");
if (date('Y', $time) != $year) {
$year = date('Y', $time);
echo '<br /><strong>' . $year . '</strong><br />';
}
echo $months[date('n', $time)-1] . '<br />';
}
?>
Edit: det funkar fint, tack!
M metalboy Medlem sedan jan. 2005 953 inlägg Edit: Du hann redigera :)
Skiljer det sig om man kör ' eller " i array'en?
Jag hade nämligen en array med alla månader i min "funcs" fil, och då skrevs resultatet ut sådär konstigt.
Beror det på "?
M metalboy Medlem sedan jan. 2005 953 inlägg Det ska inte ha någon betydelse.
Skumt, för det var det enda jag ändrade...
Men det funkar ju nu iaf och det är det viktiga!
Hmm, koden skriver inte ut Februari, utan "Mars" två gånger.
Vad kan det bero på?
Verkar lite märkligt, det är bara på Feb. som detta sker.
M metalboy Medlem sedan jan. 2005 953 inlägg Hmm... beror nog på vilken dag i månaden vi är på. Om det, som idag, är den 30:e så finns det ju inte 30 dagar i februari. Lösning:
Lägg till
$first_this_month = date('Y-m-01');
före loopen och ändra strtotime-raden till
$time = strtotime("$first_this_month -$i months");
Yes, funkar fint nu, tack!
Ang ' eller " i min array så berodde felet på en helt annan grej, där jag hade gjort fel.