PHP: Füllen eines Arrays mit den Namen der nächsten 12 Monate

7
%Vor%

Ich weiß sicher, dass ich die Mathematik falsch für den 4. Parameter von mktime mache. Ich beginne mit der aktuellen Monatszahl (7 ist Juli) und addiere 1 für jeden nächsten Monat, manchmal endet es damit, dass derselbe Monat zweimal zurückgegeben wird, vielleicht weil ich ihn nicht auf den Anfang des Monats setze? Wie würdest du das verbessern / umcodieren?

Das Ergebnis ist, dass $ monates zu einem Array mit 07 = 08. Juli = August, 09 = September führen würde. Im Moment bevölkert es den Oktober zweimal. Ich denke, es hat damit zu tun, dass heute der 31. ist und es fälschlicherweise hinzufügt und den nächsten Monat erreicht.

    
meder omuraliev 01.08.2009, 01:18
quelle

8 Antworten

24

Ich habe den Code einfach etwas korrigiert, das sollte ziemlich gut funktionieren:

%Vor%

Beachten Sie, dass ich den Array-Schlüssel herausgenommen habe, weil ich denke, dass es unnötig ist, aber Sie können das natürlich ändern, wenn Sie es brauchen.

    
deceze 01.08.2009, 02:14
quelle
5

Eine Alternative wäre strtotime :

%Vor%

Meiner Meinung nach ist dieser Code leichter zu lesen.

    
kbeyer 01.08.2009 16:17
quelle
3

Weniger kompliziert, keine Schleifen, generische Array-Schlüssel:

%Vor%     
Silviu-Marian 09.06.2014 21:58
quelle
1

Gegeben 2592000 ist 30 Tage.

%Vor%

In einer Antwort auf StackOverflow, die momentan nicht gefunden werden kann, hat jemand die Leistung mehrerer Methoden zum Erstellen einer Zeit in einer Woche verglichen. Direkt mit Zahlen war viel effizienter als jede andere Methode.

    
Tyler Carter 01.08.2009 01:27
quelle
1

Möglicherweise erhalten Sie den letzten Bug des Monats (31.) - der zu zwei Monaten mit demselben Link führte - dass Eddy fand das sehr schön heraus für mich mit Antwort :

%Vor%     
markratledge 02.08.2009 20:46
quelle
0

"Das Ergebnis ist, dass $ monates zu einem Array mit 07 = Juli 08 = August, 09 = September führen würde."

%Vor%

Wenn Sie mit 7 = 8. Juli = August, 9 = September einverstanden sind, dann:

%Vor%     
GZipp 08.12.2009 20:15
quelle
0

Manchmal müssen Sie in Ihrem Gebietsschema vorsichtig sein, also ist dies meine Lösung (in einer Funktion):

%Vor%     
François 28.08.2014 10:14
quelle
0

Hier ist ein einfaches Skript, um 12 Monate nach dem aktuellen Datum fortzufahren. Es beinhaltet das Jahr damit.

%Vor%

Sie könnten dies in eine Auswahlliste mit dem aktuellen ausgewählten Monat umwandeln, indem Sie folgendes einfügen:

%Vor%     
John F 17.10.2016 19:30
quelle

Tags und Links