Метод forCountryCode класса Timezones
Метод forCountryCode класса Timezones
возвращает массив временных зон, которые
используются в указанной стране. Первым
параметром передаётся код страны в формате
ISO 3166-1 alpha-2 (например, 'US',
'RU', 'DE'). Если для страны
не найдено ни одной зоны, метод вернёт
пустой массив.
Синтаксис
public function forCountryCode(string $countryCode): array
Пример
Давайте получим список временных зон для Соединённых Штатов Америки:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentIntlTimezones;
use SymfonyComponentRoutingAttributeRoute;
class TimezoneController extends AbstractController
{
#[Route('/timezones', name: 'timezone_index')]
public function index(): Response
{
$timezones = new Timezones();
$res = $timezones->forCountryCode('US');
return new Response(implode(', ', $res));
}
}
?>
Результат выполнения кода:
"America/New_York, America/Chicago, America/Denver, America/Los_Angeles, ..."
Пример
Давайте выведем количество временных зон для России:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentIntlTimezones;
use SymfonyComponentRoutingAttributeRoute;
class TimezoneController extends AbstractController
{
#[Route('/timezones/count', name: 'timezone_count')]
public function count(): Response
{
$timezones = new Timezones();
$res = $timezones->forCountryCode('RU');
return new Response((string) count($res));
}
}
?>
Результат выполнения кода:
"11"
Пример
Давайте проверим, что будет, если передать несуществующий код страны:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentIntlTimezones;
use SymfonyComponentRoutingAttributeRoute;
class TimezoneController extends AbstractController
{
#[Route('/timezones/empty', name: 'timezone_empty')]
public function empty(): Response
{
$timezones = new Timezones();
$res = $timezones->forCountryCode('XX');
return new Response((string) count($res));
}
}
?>
Результат выполнения кода:
"0"