array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'datetimeimmutable.getlasterrors.php', 1 => 'DateTimeImmutable::getLastErrors', 2 => 'Returns the warnings and errors', ), 'up' => array ( 0 => 'class.datetimeimmutable.php', 1 => 'DateTimeImmutable', ), 'prev' => array ( 0 => 'datetimeimmutable.createfrommutable.php', 1 => 'DateTimeImmutable::createFromMutable', ), 'next' => array ( 0 => 'datetimeimmutable.modify.php', 1 => 'DateTimeImmutable::modify', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/datetime/datetimeimmutable/getlasterrors.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

DateTimeImmutable::getLastErrors

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::getLastErrorsReturns the warnings and errors

Açıklama

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

Returns an array of warnings and errors found while parsing a date/time string.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns array containing info about warnings and errors, or false if there are neither warnings nor errors.

Sürüm Bilgisi

Sürüm: Açıklama
8.2.0 Before PHP 8.2.0, this function did not return false when there were no warnings or errors. Instead, it would always return the documented array structure.

Örnekler

Örnek 1 DateTimeImmutable::getLastErrors() 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();
}
?>

Yukarıdaki örneğin çıktısı:

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

The indexes 6, and 0 in the example output refer to the character index in the string where the error occurred.

Örnek 2 Detecting rolled over dates

<?php
$date
= DateTimeImmutable::createFromFormat('!Y-m-d', '2020-02-30');
print_r(DateTimeImmutable::getLastErrors());

Yukarıdaki örneğin çıktısı:

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

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