PHPのdate_get_last_errors()関数を使用し日付文字列の解析中に検出された警告/エラーを返してみます。
date_get_last_errors()関数は、日付文字列の解析中に検出された警告、エラーを返すことができます。
■基本的な構文
date_get_last_errors()
■環境
・Windows10
・XAMPP 8.0.6
・PHP Version 8.0.6
■date_get_last_errors()関数を使用し日付文字列の解析中に検出された警告、エラーを返す
では、PHPのdate_get_last_errors()関数を使用し日付文字列の解析中に検出された警告、エラーを返すスクリプトを書いていきます。
■コード
<html lang="ja">
<head>
<title>date_get_last_errors()関数を使用し日付文字列の解析中に検出された警告、エラーを返す</title>
</head>
<body>
<?php
date_create("dmsakn4-~=3*;s");
print_r(date_get_last_errors());
?>
</body>
</html>
日付文字列の解析中に検出された警告、エラーを返してみますので、今回はdate_create()関数を使用し、新しいDateTimeオブジェクトを作成してみます。関数の括弧内には、引数,パラメータとして、本来であれば、日付/時刻の文字列を渡すところですが、適当な文字列を渡します。これでDateTimeオブジェクトの作成は完了です。
最後に、date_get_last_errors()関数を使用します。関数の括弧内には引数,パラメータを渡しません。これで日付文字列の解析中に検出された警告、エラーが返されます。返された警告、エラーをprint_r()関数を使用し、その詳細を出力してみます。
■実行
では、このスクリプトを「date_warnings_and_errors.php」という名前で保存し、実行させてみます。
Array ( [warning_count] => 1 [warnings] => Array ( [13] => Double timezone specification ) [error_count] => 8 [errors] => Array ( [0] => The timezone could not be found in the database [6] => Unexpected character [7] => Unexpected character [8] => Unexpected character [9] => Unexpected character [10] => Unexpected character [11] => Unexpected character [12] => Unexpected character ) )
実行させてみると、date_get_last_errors()関数を使用したことで、date_create()関数を使用し、DateTimeオブジェクト内の文字列を解析し、エラー/警告に関する情報を含む配列が返され、返された配列をprint_r()関数を使用し、出力させることができました。
コメント