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...
metalboyMedlem sedan jan. 2005953 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!
metalboyMedlem sedan jan. 2005953 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å "?
metalboyMedlem sedan jan. 2005953 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.
metalboyMedlem sedan jan. 2005953 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.