Signatur
Beschreibung
intltz_count_equivalent_ids() ist die prozedurale Variante von IntlTimeZone::countEquivalentIDs() und gibt zurück, wie viele Zeitzonen-IDs in der Äquivalenzgruppe der übergebenen ID enthalten sind. Äquivalente IDs bezeichnen Zeitzonen, die dieselbe Verschiebung (Offset) gegenüber UTC haben und historisch identische Regeln befolgen.
Diese Funktion ist nützlich, wenn man alle alternativen Namen oder Aliase für eine bestimmte Zeitzone ermitteln möchte – beispielsweise für Auswahlmenüs oder zur Normalisierung von Zeitzonendaten. In Kombination mit intltz_get_equivalent_id() kann man über den zurückgegebenen Zähler alle äquivalenten IDs iterieren.
Die Funktion gehört zur Intl-Erweiterung (International Components for Unicode, ICU) und ist ab PHP 5.5.0 verfügbar. Sie erfordert, dass die intl-Extension aktiviert ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $zoneId Pflicht | string | Die Zeitzonen-ID, für die die Anzahl äquivalenter IDs ermittelt werden soll, z. B. 'Europe/Berlin' oder 'UTC'. |
Rückgabewert
int zurück. Bei ungültiger oder unbekannter zoneId wird false zurückgegeben.Beispiele
Anzahl äquivalenter IDs für 'Europe/Berlin' ermitteln
<?php
$zoneId = 'Europe/Berlin';
$count = intltz_count_equivalent_ids($zoneId);
if ($count !== false) {
echo "Anzahl äquivalenter IDs für '{$zoneId}': {$count}\n";
} else {
echo "Unbekannte Zeitzonen-ID: {$zoneId}\n";
}
Alle äquivalenten IDs einer Zeitzone auflisten
<?php
$zoneId = 'Europe/Berlin';
$count = intltz_count_equivalent_ids($zoneId);
if ($count === false) {
echo "Ungültige Zeitzonen-ID.\n";
exit;
}
echo "Äquivalente IDs für '{$zoneId}' ({$count} gesamt):\n";
for ($i = 0; $i < $count; $i++) {
$equivalentId = intltz_get_equivalent_id($zoneId, $i);
echo " [{$i}] {$equivalentId}\n";
}
// Wichtig · Fallstricke
Hinweis: Die genaue Anzahl und die zugehörigen IDs hängen von der installierten ICU-Version ab und können sich zwischen PHP-Versionen unterscheiden. Verlasse dich nicht auf feste Zahlenwerte in produktivem Code.
Wenn die intl-Extension nicht geladen ist, führt der Aufruf zu einem fatalen Fehler. Stelle sicher, dass extension=intl in der php.ini aktiviert ist.