重複の可能性:
PHP で複数の値を比較する
誰かがこれを書くためのより良い方法を見つけるのを手伝ってくれませんか. ネストされたifよりも優れたものが必要であるかのように感じます。検索してみましたが、何を探しているのかわかりません。
このコードは、セッション変数「auth」が 0、1、2、または 3 と正確に等しくない場合、ログイン ページにリダイレクトすることを示しています。
if($_SESSION['auth']!=0){
if($_SESSION['auth']!=1){
if($_SESSION['auth']!=2){
if($_SESSION['auth']!=3){
header("location:login.php");
}
}
}
}
私の最初の考えは、このようなことをすることでした。
if($_SESSION['auth']<=0 || $_SESSION['auth']>=3){
header("location:login.php");
}
しかし、それは整数値の分数を考慮していません。整数値のみを許可したい。次に思ったのはこれ。
if($_SESSION['auth']!=0 && $_SESSION['auth']!=1 && $_SESSION['auth']!=2 && $_SESSION['auth']!=3){
header("location:login.php")
}
しかし、この方法は、ネストされたすべての if と大差ありません。壊れていないものを修正しようとしているだけの場合はお知らせください。前もって感謝します。関連するトピック (できれば PHP マニュアル) へのリンクは、私が探しているすべてであり、解決策ではありません。