array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), '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); ?>
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::getLastErrors — Returns the warnings and errors
Returns an array of warnings and errors found while parsing a date/time string.
此函数没有参数。
Returns array containing info about warnings and errors, or false if there
are neither warnings nor errors.
| 版本 | 说明 |
|---|---|
| 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.
|
示例 #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();
}
?>以上示例会输出:
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.
示例 #2 Detecting rolled over dates
<?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
(
)
)