Direkt zum Inhalt
Der Schlüssel zum Verstehen der Programmierung

Ein Array mit Monaten zur Verfügung zu haben, kann bei der Entwicklung von Projekten in PHP von großem Nutzen sein. In diesem Tutorial werde ich dir ein einfaches Skript erstellen, das ein Array mit den Monaten erstellt, die von dem aktuellen Monat bis zum Ende des Jahres reichen. Das erste, was du tun musst, ist die Verwendung der Funktion setlocale(), um sicherzustellen, dass du die richtigen Monatsnamen erhältst. In diesem Beispiel verwende ich die deutsche Sprache ('de_DE.UTF-8').

$months = array();
$current_month = date('n'); // aktueller Monat
setlocale(LC_TIME, 'de_DE.UTF-8');

Nachdem du das Locale gesetzt hast, erstellst du ein leeres Array namens $months. Danach erstellst du eine Variable namens $current_month und setzt sie auf den aktuellen Monat mit der date() Funktion und dem Format 'n' (nur die Monatszahl, ohne Jahr).

for ($i = $current_month; $i <= 12; $i++) {
$months[] = strftime('%B', mktime(0, 0, 0, $i, 1)); 
}

Als nächstes verwendest du eine Schleife, um die Monate vom aktuellen Monat bis zum Ende des Jahres hinzuzufügen. Ich verwende die strftime() Funktion, um die Monatsnamen zu erhalten. Diese Funktion erwartet eine Zeitangabe in Unix-Zeitstempel und den Format-String '%B' für den vollständigen Monatsnamen. Ich verwende die mktime() Funktion, um einen Unix-Zeitstempel mit den angegebenen Werten (0, 0, 0, $i, 1) zu erstellen, wobei $i die Schleifenvariable ist, die sich jeden Durchlauf um 1 erhöht.


for ($i = 1; $i < $current_month; $i++) {
$months[] = strftime('%B', mktime(0, 0, 0, $i, 1)); 
}

Nachdem du die Monate vom aktuellen Monat bis zum Ende des Jahres hinzugefügt hast, verwendest du eine weitere Schleife, um die Monate vom Anfang des Jahres bis zum aktuellen Monat hinzuzufügen. Der Schleifenindex $i beginnt bei 1 und endet beim aktuellen Monat - 1.

print_r($months);

Zum Schluss gibst du das Array mit den Monaten mit der print_r() Funktion aus. Du kannst die Ausgabe auch in einer Tabelle oder einem Dropdown-Menü anzeigen lassen, je nachdem welche Anforderungen du hast.

Das war es auch schon! Mit diesem einfachen Skript hast du jetzt ein Array mit den Monaten, die du in deinen Anwendungen verwenden kannst.

Ich hoffe das hilft dir bei deinem Projekt. Lass mich wissen falls du noch Fragen hast.

Komplett:

$months = array();

$current_month = date('n'); // aktueller Monat setlocale(LC_TIME, 'de_DE.UTF-8');

for ($i = $current_month; $i <= 12; $i++) {
$months[] = strftime('%B', mktime(0, 0, 0, $i, 1)); 
}

for ($i = 1; $i < $current_month; $i++) {
$months[] = strftime('%B', mktime(0, 0, 0, $i, 1)); 
}

print_r($months);

Tags