Aktueller Standort: Startseite> Neueste Artikel> Warum werden die TimeZone_abbreviations_List von TimeZone_abBreviations_List -Duplikaten erhalten? Wie löst ich es durch Wiederholung?

Warum werden die TimeZone_abbreviations_List von TimeZone_abBreviations_List -Duplikaten erhalten? Wie löst ich es durch Wiederholung?

gitbox 2025-06-16

In PHP verwenden wir häufig die Funktion TIMEZONE_ABBREVIAations_List (), um alle Zeitzonenabkürzungen der aktuellen Zeitzone zu erhalten. Diese Funktion gibt eine Reihe von Zeitzoneninformationen zurück, in denen jede Zeitzoneninformation eine oder mehrere Zeitzonenabkürzungen enthält. In einigen Fällen wird die Liste der zurückgegebenen Zeitzone Abkürzung dupliziert, was zu Problemen führt. Warum passiert das? Wie kann man eine einzigartige Liste von Zeitzonenabkürzungen deduplizieren?

Warum treten eine Abkürzung der Zeitzone auf?

  1. In der gleichen Zeitzone kann es mehrere Abkürzungen geben <br> Eine Zeitzone kann mehrere verschiedene Abkürzungen haben. Beispielsweise beziehen sich "PST" (Pacific Standard Time) und "PDT" (Pacific Daylight Saving Time) tatsächlich auf dieselbe Zeitzone, und der Unterschied besteht darin, dass sie in verschiedenen Jahreszeiten verwendet werden. Für jedes TIMEZONE_ABBREVIAations_List () gibt alle Abkürzungen im Zusammenhang mit dieser Zeitzone zurück, sodass Sie möglicherweise ähnliche doppelte Abkürzungen in den Ergebnissen sehen.

  2. Historische Gründe <br> Die Abkürzung der Zeitzone hat eine lange Geschichte, und die Abkürzung von Zeitzonen kann von Ort zu Ort variieren. Die Standardzeit in verschiedenen Regionen kann dieselbe Abkürzung verwenden, insbesondere beim Wechsel zwischen Tageslichteinsparnis und Standardzeit. Zum Beispiel kann "CST" die Standardzeit der China oder die zentrale Standardzeit in den USA darstellen, sodass die gleiche Abkürzung in verschiedenen Zeitzonen auftritt.

  3. Zeitzonenänderungen und Tageslichtsparenzeit <br> Die Implementierung und Stornierung von Tageslichtsparzeit kann dazu führen, dass in bestimmten Zeitzonen mehrere Abkürzungen angezeigt werden. Beispielsweise wird die Abkürzung der Zeitzone in New York von "EST" (East Standard Time) zu "EDT" (East Daylight Saving Time) wechseln, wenn sich die Saison ändert. Daher wird die Abkürzung auch in derselben Region zu unterschiedlichen Zeitpunkten zurückgekehrt.

Wie löst ich es durch Wiederholung?

Um das Problem der Abkürzung der Zeitzone zu lösen, können wir einige grundlegende Funktionen von PHP verwenden, um sie zu deduplizieren, um sicherzustellen, dass jede Abkürzung in der endgültigen erworbenen Zeitzone -Abkürzung eindeutig ist.

Hier ist ein einfaches Beispiel für PHP -Code, das zeigt, wie TIMEZone_AbBreviations_List () verwendet wird, um die Zeitzone -Abkürzungen zu erhalten und zu deduplicate:

 <?php
// Holen Sie sich die Liste der Zeitzonenabkürzungen
$timezone_abbreviations = timezone_abbreviations_list();

// Erstellen Sie ein Array, um einzigartige Zeitzonenabkürzungen zu speichern
$unique_abbreviations = [];

// Über die Abkürzungsliste der Zeitzonen wiederholen,In den schweren gehen
foreach ($timezone_abbreviations as $region => $abbreviations) {
    foreach ($abbreviations as $abbreviation) {
        $unique_abbreviations[$abbreviation['abbr']] = $abbreviation;
    }
}

// 输出In den schweren gehen后的时区缩写列表
foreach ($unique_abbreviations as $abbreviation) {
    echo $abbreviation['abbr'] . " - " . $abbreviation['offset'] . "<br>";
}
?>

In diesem Code rufen wir zunächst TimeZone_abbreviations_List () an, um Informationen zu All TimeZone -Abkürzungen zu erhalten. Verwenden Sie als Nächstes ein assoziatives Array $ Unique_abbreviations, um jede Zeitzone -Abkürzung zu speichern, bei der die Abkürzung als Schlüssel verwendet wird. Da die Schlüssel des Arrays einzigartig sind, werden doppelte Abkürzungen automatisch überschrieben, wodurch die Wirkung der Deduplizierung erreicht wird.

Auf diese Weise können wir sicherstellen, dass die resultierende Liste der Abkürzung der Zeitzone keine doppelten Werte enthält.

abschließend

Die Funktion TIMEZONE_ABBREVIAations_List () kann bei der Rückgabe der Timezone -Abkürzung doppelte Werte aufweisen, hauptsächlich, weil es möglicherweise mehrere verschiedene Abkürzungen in derselben Zeitzone geben, oder aufgrund historischer und Tageslichtspartzeit wird die Abkürzung dupliziert. Mit einfachem PHP -Code können wir diese doppelten Zeitzonenabkürzungen problemlos entfernen, um sicherzustellen, dass die erhaltene Liste der erhaltenen Zeitzonen -Abkürzung eindeutig ist.