コンテンツへスキップ

PHP配列を用いた条件判定

やりたいこと

指定した条件を判定し、処理を分岐したい。
指定する条件が複数あり、これらを配列で指定する。
配列内容を確認し、条件にマッチするか判定する。

具体的には、日付と数字の組み合わせで判定を行う。
日付+数字(じゃんけん何戦目か)

これは、2020年3月30日週の第3戦目のめざましじゃんけんが、ポイント2倍になったので、この機能を作りこむことにした。

実装方法

条件を配列に登録する。

  • 日付:条件となる日付を配列で指定
    define('DOUBLE_DATE',['2020-03-30','2020-03-31','2020-04-01','2020-04-02','2020-04-03'])
  • 数字:条件となる数字を配列で指定 define('DOUBLE_TIMES',[3])

配列内に存在する値かを「in_array」関数で判定する。
似た関数で「array_search」関数がありますが、array_searchは指定する値が配列の何番目かを検索します。
in_arrayは、単純に指定する値がある・ないを判定します。

実装サンプルソースコード

//ダブルポイント対象回次と日付
define('DOUBLE_TIMES',[3]);
define('DOUBLE_DATE',['2020-03-30','2020-03-31','2020-04-01','2020-04-02','2020-04-03']);

//$this_date, $this_timeは、判定対象の値。
//今回の場合、じゃんけん実施日、何戦目か(数字)

$date_flg = in_array($this_date,DOUBLE_DATE);
$times_flg = in_array($this_times,DOUBLE_TIMES);

if($date_flg and $times_flg){
  //条件に合致した際の処理
}

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA