Heim >Backend-Entwicklung >PHP-Problem >Wie ermittelt man ein Schaltjahr in PHP? Einführung in drei Methoden
Schaltjahr bezieht sich auf ein Schaltjahr alle vier Jahre im Gregorianischen Kalender, also ein Jahr mit 366 Tagen zwischen gewöhnlichen 365-Tage-Jahren. Sein Zweck besteht darin, dem Sonnenjahr zu entsprechen.
Nach den Bestimmungen des Gregorianischen Kalenders gibt es in Schaltjahren im Allgemeinen zwei Situationen: ① Das Jahr ist gleichmäßig durch 4 teilbar, aber nicht durch 100; ② Das Jahr ist gleichmäßig durch 400 teilbar. In diesem Artikel stellen wir Ihnen die Methode zur Realisierung einer Schaltjahrbeurteilung basierend auf der Programmiersprache PHP vor.
Die if-Anweisung ist eine sehr häufige Steueranweisung in PHP. Sie bestimmt die Verzweigungsrichtung des Programms durch logisches Beurteilen der Bedingungen. Der folgende Code verwendet die if-Anweisung, um das Schaltjahr zu bestimmen:
function isLeapYear($year) { $isLeap = false; if ($year % 4 == 0) { $isLeap = true; if ($year % 100 == 0 && $year % 400 != 0) { $isLeap = false; } } return $isLeap; }
Im obigen Code verwenden wir die Variable $isLeap, um den wahren oder falschen Wert des Schaltjahres zu speichern. Stellen Sie zunächst fest, ob $year durch 4 teilbar ist. Wenn ja, setzen Sie $isLeap auf true. Bestimmen Sie als Nächstes, ob $year durch 100 teilbar ist. Wenn ja, muss es gemäß der Definition eines Schaltjahres durch 400 teilbar sein, um festzustellen, ob es sich um ein Schaltjahr handelt. Andernfalls setzen Sie $isLeap auf false. Schließlich wird der Wert von $isLeap zurückgegeben.
Der ternäre Operator (?:) ist eine sehr prägnante Syntax, die if-else-Anweisungen auf eine einzige Codezeile reduziert. Der folgende Code verwendet den ternären Operator, um eine Schaltjahrbeurteilung zu realisieren:
function isLeapYear($year) { return ($year % 4 == 0 && ($year % 100 != 0 || $year % 400 == 0)); }
Im obigen Code setzen wir den Rückgabewert direkt auf das Beurteilungsergebnis und verwenden den ternären Operator, um die Bedingung zu beurteilen. Wenn $year durch 4, nicht durch 100 oder durch 400 teilbar ist, wird „true“ zurückgegeben, andernfalls „false“.
Es ist zu beachten, dass die Verwendung des ternären Operators den Code prägnanter machen kann. Für Anfänger ist diese Syntax jedoch möglicherweise nicht leicht zu verstehen. Es wird empfohlen, sie nach Beherrschung der if-Anweisung zu erlernen.
Zusätzlich zur if-Anweisung und dem ternären Operator können wir auch die Switch-Anweisung verwenden, um die Beurteilung von Schaltjahren zu realisieren. Das Folgende ist der Code, der die Switch-Anweisung verwendet, um die Beurteilung von Schaltjahren zu implementieren:
function isLeapYear($year) { switch (true) { case ($year % 400 == 0): return true; case ($year % 100 == 0): return false; case ($year % 4 == 0): return true; default: return false; } }
Im obigen Code verwenden wir die Switch-Anweisung, um $year zu beurteilen und verschiedene Verzweigungscodes für verschiedene Situationen auszuführen. Wenn $year durch 400 teilbar ist, wird true zurückgegeben; wenn $year durch 4 teilbar ist, wird true zurückgegeben. Wenn keine der oben genannten Bedingungen erfüllt ist, wird false zurückgegeben.
Zusammenfassung
Unter den oben genannten drei Methoden ist die if-Anweisung die am häufigsten verwendete Methode und am einfachsten zu verstehen. Der ternäre Operator kann den Code prägnanter machen, er muss jedoch auf der Grundlage der Beherrschung der if-Anweisung erlernt werden. Obwohl die Switch-Anweisung bei der Beurteilung von Schaltjahren nicht häufig verwendet wird, kann sie in anderen Szenarien verwendet werden und muss daher erlernt und beherrscht werden.
Abschließend hoffe ich, dass dieser Artikel den Lesern helfen kann, die Methode zur Realisierung der Schaltjahrbeurteilung in PHP zu verstehen und sie in der tatsächlichen Entwicklung anwenden zu können.
Das obige ist der detaillierte Inhalt vonWie ermittelt man ein Schaltjahr in PHP? Einführung in drei Methoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!