LoginSignup
2
2

More than 5 years have passed since last update.

PHPでswitch文とstrpos関数を使うときの注意点

Posted at

phpのswitch文は緩やかな比較なので、strpos関数を使うときは厳密な比較にする必要がある
(チェック文字列が1文字に含まれていると0=falseと判定されてしまう)

ダメな例
$i='example';
switch (true) {
    case strpos($i, 'ex' ):
        echo "iはexを含む";
        break;
    default:
        echo "iはexを含まない";
}

// iはexを含まない
良い例
$i='example';
switch (true) {
    case strpos($i, 'ex' ) !==false:
        echo "iはexを含む";
        break;
    default:
        echo "iはexを含まない";
}

// iはexを含む

参考

【PHP】特定の文字列を含むかのチェック - Qiita
PHP: PHP 型の比較表 - Manual
PHP: switch - Manual

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2