PHP.mk документација

DateTimeImmutable::getLastErrors

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

datetimeimmutable.getlasterrors.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека datetimeimmutable.getlasterrors.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
DateTimeImmutable::getLastErrors

Референца за `datetimeimmutable.getlasterrors.php` со подобрена типографија и навигација.

datetimeimmutable.getlasterrors.php

DateTimeImmutable::getLastErrors

Распакување на вгнездени низи

DateTimeImmutable::getLastErrorsВраќа предупредувања и грешки

= NULL

public static DateTimeImmutable::getLastErrors(): array|false

Враќа низа од предупредувања и грешки пронајдени при парсирање на низа за датум/време.

Параметри

Оваа функција нема параметри.

Вратени вредности

Враќа низа што содржи информации за предупредувања и грешки, или false ако нема ниту предупредувања ниту грешки.

Дневник на промени

Верзија = NULL
8.2.0 Пред PHP 8.2.0, оваа функција не враќаше false кога немаше предупредувања или грешки. Наместо тоа, секогаш ќе ја враќаше документираната структура на низата.

Примери

Пример #1 Превртените датуми може да се откријат со проверка за предупредувања користејќи example

<?php
try {
$date = new DateTimeImmutable('asdfasdf');
} catch (
Exception $e) {
// For demonstration purposes only...
print_r(DateTimeImmutable::getLastErrors());

// The real object-oriented way to do this is
echo $e->getMessage();
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

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());

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Array
(
    [warning_count] => 1
    [warnings] => Array
        (
            [10] => The parsed date was invalid
        )

    [error_count] => 0
    [errors] => Array
        (
        )
)

Белешки од корисници 1 белешка

_mittens
пред 2 години
If you are curious as to when the internal array gets resetted (from https://onlinephp.io/c/3ee35):

<?php

$date0 = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-31-31');
var_dump($date0->format('c')); // 2022-07-31T00:00:00+00:00

foreach(range(0,2) as $_)
    // The internal error won't reset
    var_dump( join(DateTimeImmutable::getLastErrors()['warnings']) ); // The parsed date was invalid
    
$date1 = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-12-31');
var_dump($date1->format('c')); // 2020-12-31T00:00:00+00:00

// The internal error did reset
var_dump( empty(DateTimeImmutable::getLastErrors()['warnings']) ); // true

$date2 = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-31-31');
var_dump( join(DateTimeImmutable::getLastErrors()['warnings']) ); // The parsed date was invalid
$date3 = new DateTimeImmutable('2023-12-31T00:00:00.000000Z');

// The internal error did reset
var_dump( empty(DateTimeImmutable::getLastErrors()['warnings']) ); // true
?>

Output:
string(25) "2022-07-31T00:00:00+00:00"
string(27) "The parsed date was invalid"
string(27) "The parsed date was invalid"
string(27) "The parsed date was invalid"
string(25) "2020-12-31T00:00:00+00:00"
bool(true)
string(27) "The parsed date was invalid"
bool(true)
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.