postされた日付などをcheckdate関数を使用してバリデーションを行いたい時にexplode関数を使います。
使ってみる
checkdate関数は引数1に月、引数2に日、引数3に年を渡さなければいけません。なので、explode関数を使用してcheckdate関数に合う形にします。
$date = $_POST['date']; //'2024-02-12'が入っている
$array_date = explode('-', $date);
引数1に何事に区切るか(上記では-)、引数2に区切りたい文字列が入った変数を指定します。
var_dumpで出力して確認していきます。
array(3) { [0]=> string(4) "2024" [1]=> string(1) "2" [2]=> string(2) "12" }
checkdate関数で正しい日付かチェック
checkdate関数で正しい日付化チェックしていきます。先ほど書いたようにcheckdate関数は引数1に月、引数2に日、引数3に年を渡さなければいけません。
$validate = checkdate($array_date[1], $array_date[2], $array_date[0]);
var_dump($validate);
bool(true)
正しい日付なのでtrueが返ってきました。