<?php

ini_set("intl.error_level", E_WARNING);
$enum = IntlTimeZone::createTimeZoneIDEnumeration(IntlTimeZone::TYPE_ANY);
$countAny = count(iterator_to_array($enum));
$enum = IntlTimeZone::createTimeZoneIDEnumeration(IntlTimeZone::TYPE_CANONICAL);
$countCanonical = count(iterator_to_array($enum));
$enum = IntlTimeZone::createTimeZoneIDEnumeration(IntlTimeZone::TYPE_CANONICAL_LOCATION);
$countCanonicalLocation = count(iterator_to_array($enum));
var_dump($countAny > $countCanonical);
var_dump($countCanonical > $countCanonicalLocation);
$enum = IntlTimeZone::createTimeZoneIDEnumeration(IntlTimeZone::TYPE_ANY, null, null);
$countAny2 = count(iterator_to_array($enum));
var_dump($countAny == $countAny2);
$enum = IntlTimeZone::createTimeZoneIDEnumeration(IntlTimeZone::TYPE_ANY, null, -3600000);
$values = iterator_to_array($enum);
print_r(array_values(array_intersect($values, array('Etc/GMT+1', 'Atlantic/Azores'))));
?>
==DONE==
<?php

ini_set("intl.error_level", E_WARNING);
$enum = IntlTimeZone::createTimeZoneIDEnumeration(IntlTimeZone::TYPE_ANY, 'PT');
$values = iterator_to_array($enum);
var_dump(in_array('Europe/Lisbon', $values));
var_dump(in_array('Atlantic/Azores', $values));
$enum = IntlTimeZone::createTimeZoneIDEnumeration(IntlTimeZone::TYPE_ANY, 'PT', null);
$values2 = iterator_to_array($enum);
var_dump($values2 == $values);
?>
==DONE==
<?php

ini_set("intl.error_level", E_WARNING);
var_dump(IntlTimeZone::createTimeZoneIDEnumeration());
var_dump(IntlTimeZone::createTimeZoneIDEnumeration(array()));
var_dump(IntlTimeZone::createTimeZoneIDEnumeration(-1));
var_dump(IntlTimeZone::createTimeZoneIDEnumeration(IntlTimeZone::TYPE_ANY, array()));
var_dump(IntlTimeZone::createTimeZoneIDEnumeration(IntlTimeZone::TYPE_ANY, "PT", "a80"));