我想做一個快速檢查,看看用戶是否有權查看頁面,所以我有這樣的功能,只是簡單地返回用戶訪問級別時調用,並作出一個變量,但想知道如何寫if
聲明...PHP如果變量肯定是價值或價值然後
這是我到目前爲止有:
if($uac_check == "Owner" OR "Admin") {
echo "You have Access";
} else {
echo "No access for you!";
}
有沒有人能幫助嗎?
我想做一個快速檢查,看看用戶是否有權查看頁面,所以我有這樣的功能,只是簡單地返回用戶訪問級別時調用,並作出一個變量,但想知道如何寫if
聲明...PHP如果變量肯定是價值或價值然後
這是我到目前爲止有:
if($uac_check == "Owner" OR "Admin") {
echo "You have Access";
} else {
echo "No access for you!";
}
有沒有人能幫助嗎?
您需要再次測試$uac_check
的值。
if($uac_check == "Owner" or $uac_check == "Admin") {
布爾運算符像or
和and
需要對他們兩邊的布爾值。當你有像$ uac_check ==「Owner」這樣的表達式時,它會計算一個真或假的值,也就是所謂的「布爾」值。另一方面你有$uac_check
。除非它們爲空,空或零,否則大多數變量在作爲布爾值進行轉換時將評估爲true。這可能會給您帶來不希望的結果。
請注意,我將OR
運算符重新編寫爲or
。兩者都是有效的,||
也是如此。
最後一個注意事項 - 您可以使測試更具體,以避免PHP中的「誤解」。 PHP對類型非常寬泛,所以它會告訴你"1" == 1
和0 == false
是真的,當1個字符和1號不是同一個東西時,也不是0和false是相等的。您可以通過使用===
運算符來避免類似這樣的錯誤,該運算符將同時檢查值和類型。這可能是非常重要的,特別是對於某些函數可以返回0和錯誤的兩種非常不同的含義。它被稱爲identical
運營商。您可以在Comparison Operators頁面的PHP手冊中閱讀更多關於比較的內容。
像這樣的事情
if($uac_check == "Owner" || $uac_check =="Admin") {
echo "You have Access";
} else {
echo "No access for you!";
}
我想你想ternary operator。
$access = ($uac_check == "Owner" || $uac_check == "Admin") ? 'You have Access' : 'No access for you!';
echo $access;
這將是完美的,但我打算的內容是HTML而不是隻有一行,無論如何,謝謝! – AaronHatton
你可以使用html字符串創建php變量,並將其添加到訪問中。 – JTC
我知道,但是我試圖保持我的代碼儘可能乾淨和可讀性,如果我需要稍後進行編輯,或者如果我被公共汽車撞倒,並且有人接管。無論如何謝謝你! – AaronHatton
工作過一種享受,謝謝!做「OR」和「||」有什麼區別? – AaronHatton
@AaronHatton - 我將這個添加到我的答案中。短版 - 沒有區別。 –
+1描述..這真的很棒 –