DateTimeImmutable::getLastErrors
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::getLastErrors — Возвращает предупреждения и ошибки
Описание
public static DateTimeImmutable::getLastErrors():
array|false
Список параметров
Сигнатура функции не содержит параметров.
Возвращаемые значения
Метод возвращает массив, который содержит информацию о предупреждениях и ошибках,
или false, если нет ни предупреждений, ни ошибок.
Примеры
Пример #1 Пример получения ошибки разбора строки с датой и временем методом DateTimeImmutable::getLastErrors()
<?php
try {
$date = new DateTimeImmutable('asdfasdf');
} catch (Exception $e) {
// Обработка исключения таким способом приводится только в демонстрационных целях…
print_r(DateTimeImmutable::getLastErrors());
// …в объектно-ориентированном стиле лучше выводить сообщение вот так:
echo $e->getMessage();
}
Результат выполнения приведённого примера:
Array
(
[warning_count] => 1
[warnings] => Array
(
[6] => Double timezone specification
)
[error_count] => 1
[errors] => Array
(
[0] => The timezone could not be found in the database
)
)
Failed to parse time string (asdfasdf) at position 0 (a): The timezone could not be found in the database
Индексы 6 и 0 в выводе примера относятся к индексу символа в строке разбора,
на котором возникла ошибка.
Пример #2 Пример обнаружения переполнения дат
<?php
$date = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-02-30');
print_r(DateTimeImmutable::getLastErrors());
Результат выполнения приведённого примера:
Array
(
[warning_count] => 1
[warnings] => Array
(
[10] => The parsed date was invalid
)
[error_count] => 0
[errors] => Array
(
)
)