ホームページ >バックエンド開発 >PHPチュートリアル >PHP の週末の日付チェックで常に False が返されるのはなぜですか?
PHP での週末の日付の検証
指定された日付が週末に該当するかどうかを判断しようとしているときに、既存の関数が一貫して「false」を返します。コードを詳しく調べて、この一見誤った動作の背後にある理由を理解しましょう。
課題は、日付の解析方法にあります。コードでは、date() 関数を使用して曜日を文字列 (「土曜日」または「日曜日」など) として抽出し、それをそれらの正確な文字列と比較します。このアプローチは、大文字と小文字の区別とタイプミスの可能性により問題が発生する可能性があります。
改善されたアプローチ:
代わりに、PHP の組み込み日付関数を利用してこれを簡素化できます。タスク。以下に、推奨される解決策をいくつか示します。
PHP 5.1 以降の場合:
function isWeekend($date) { return (date('N', strtotime($date)) >= 6); }
この関数は、date('N') 関数を使用して日を取得します。週の整数 (1 ~ 7) で表します。6 と 7 はそれぞれ土曜日と日曜日を表します。結果を 6 と比較することで、その日付が週末に該当するかどうかを正確に判断できます。
以前のバージョンの PHP の場合:
function isWeekend($date) { $weekDay = date('w', strtotime($date)); return ($weekDay == 0 || $weekDay == 6); }
以前の PHP バージョンの場合5.1 以降でも、date('w') を使用して曜日を整数として取得できます。この場合、日曜日 (0) と土曜日 (6) の両方を週末として確認する必要があります。
以上がPHP の週末の日付チェックで常に False が返されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。