DateTimeImmutable::getLastErrors

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

DateTimeImmutable::getLastErrorsRetourne les alertes et erreurs

Description

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

Retourne un tableau des alertes et erreur trouvés lors de l'analyse d'une chaîne date/heure.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau contenant les informations à propos des alertes et erreurs, ou false s'il y a ni alertes ni erreurs.

Historique

Version Description
8.2.0 Antérieur à PHP 8.2.0, cette fonction ne retournait pas false en l'absence d'avertissement ou d'erreur. Au lieu de cela, elle renvoyait toujours la structure de tableau documentée.

Exemples

Exemple #1 Exemple de DateTimeImmutable::getLastErrors()

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

L'exemple ci-dessus va afficher :

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

Les index 6, et 0 dans la sortie de l'exemple réfère à l'index du caractère dans la chaîne où l'erreur c'est produite.

Exemple #2 Détecter les dates invalides

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

L'exemple ci-dessus va afficher :

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

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