ホームページ >バックエンド開発 >PHPチュートリアル >PHP の `date()` 関数を GET パラメータとともに使用すると、「整形式ではない数値が見つかりました」というエラーが発生するのはなぜですか?
PHP の「整形式でない数値が見つかりました」エラーについて
フォームから渡された日付を検証しようとすると、次のような問題が発生する可能性があります。エラー「整形式ではない数値が見つかりました。」このエラーは、整形式の数値ではない値を使用しようとしていることを示しています。
あなたの特定のケースでは、GET パラメーターを指定して date() 関数を使用しようとしているときにこのエラーが発生します。開始日を表します。この問題は、このパラメーターが「2020-10-10」または「2020/10/10」という形式の文字列として渡されるために発生します。これは、date() 関数の有効な数値ではありません。
問題の解決
この問題を解決するには、事前に日付パラメータを数値に変換する必要があります。それを date() 関数に渡します。 strtotime() 関数を使用すると、文字列の日付表現を秒数に変換できます。修正されたコードは次のとおりです。
date("d", strtotime($_GET['start_date']));
追加の考慮事項
このエラー タイプの根本原因を理解することが重要です。このようなエラーが発生した場合は、まず var_dump() を使用して問題の値を調査する必要があります。これは、次のことを判断するのに役立ちます:
問題の値をやみくもに数値にキャストしないでください。実際の問題が隠蔽され、誤った結果が生じる可能性があります。
以上がPHP の `date()` 関数を GET パラメータとともに使用すると、「整形式ではない数値が見つかりました」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。