Stringの文字列中に複数個の文字列が一個でも含まれている場合、continueする
Q.$taisyoStringの文字列中に"ダメ"または"いらない"文字が含まれている場合、continueするphpプログラムを書きなさい。
A.
phpの文字列検出系関数の中で一番処理効率がいいのはstrpos関数らしいのでできるだけそれを使う。
- 回答1.一番シンプルif文だけ
const DAME_MOJI="ダメ"; const IRANAI_MOJI="いらない" if(strpos($taisyoString, self::DAME_MOJI) !== false or strpos($taisyoString, self::IRANAI_MOJI) !== false){ continue; }
- 回答2.php5.6からconstでarray使えるようになったらしいからarrayで定義
const HUYOU_MOJIS = array("ダメ","いらない"); foreach(self::HUYOU_MOJIS as $huyouMoji){ if(strpos($taisyoString, $huyouMoji) !== false){ continue 2; } }
- 回答3.preg_matchで判断。一番短くてすむ
const HUYOU_MOJIS = "ダメ|いらない"; if(preg_match($taisyoString, self::HUYOU_MOJIS) === 0){ continue; } //もちろん3項演算子でも可
and etc...