Like $php_errormsg, the return value of this function may not be updated if a user-defined error handler returns non-FALSE. Tested on PHP 5.2.6.
<?php
var_dump(PHP_VERSION);
// Outputs: string(5) "5.2.6"
@trigger_error("foo");
$e=error_get_last();
var_dump($e['message']);
// Outputs: string(3) "foo"
set_error_handler(create_function('$a,$b',''));
@trigger_error("bar");
$e=error_get_last();
var_dump($e['message']);
// Outputs: string(3) "foo"
set_error_handler(create_function('$a,$b','return false;'));
@trigger_error("baz");
$e=error_get_last();
var_dump($e['message']);
// Outputs: string(3) "baz"
?>
error_get_last
(PHP 5 >= 5.2.0)
error_get_last — 最後に発生したエラーを取得する
説明
array error_get_last
( void
)
最後に発生したエラーについての情報を取得します。
返り値
最後に発生したエラーについての情報を連想配列で返します。連想配列のキーは "type"、"message"、"file" および "line" となります。 エラーが発生していない場合は NULL を返します。 yet.
例
例1 error_get_last() の例
<?php
echo $a;
print_r(error_get_last());
?>
上の例の出力は、たとえば 以下のようになります。
Array ( [type] => 8 [message] => Undefined variable: a [file] => C:\WWW\index.php [line] => 2 )
error_get_last
Brad
17-Jun-2008 03:54
17-Jun-2008 03:54
Brad
17-Jun-2008 03:36
17-Jun-2008 03:36
It can't be completely reset, but you can "clear" it well enough for all practical purposes:
<?php
@trigger_error("");
// do stuff...
$e=error_get_last();
if($e['message']!==''){
// An error occurred
}
?>
mail at mbaierl dot com
04-Jun-2008 09:21
04-Jun-2008 09:21
This function is pretty useless, as it can not be reset, so there is no way to know if the error really happened on the line before this function call.
