$uac_check
の値を再度テストする必要があります。
if($uac_check == "Owner" or $uac_check == "Admin") {
ブール演算子は、両側でブール値が好きor
で必要です。and
$uac_check == "Owner" のような式がある場合、それは true または false の値 ("boolean" 値とも呼ばれます) に評価されます。あなたは$uac_check
反対側にいます。ほとんどの変数は、空、null、または 0 でない限り、ブール値としてキャストすると true と評価されます。これにより、予期しない結果が得られる可能性があります。
OR
演算子を として書き直したことに注意してくださいor
。どちらも有効です||
。
最後に、PHP での「誤解」を避けるために、テストをより具体的にすることができます。PHP は型に関して非常に緩いので、1 文字と数字の 1 が同じでなく、0 と false が等しくない場合、"1" == 1
andが true であることがわかります。値と型の両方をチェック0 == false
する演算子を使用すると、このような間違いを避けることができます。これは、特に 0 と false を 2 つの非常に異なる意味で返す可能性がある特定の関数では、非常に重要です。オペレーターといいます。PHP マニュアルの比較演算子ページで比較の詳細を読むことができます。===
identical