我想快速检查用户是否有权查看页面,因此我有一个函数,它在调用时简单地返回用户访问级别并将其转换为变量,但想知道如何编写if
语句。 ..
这是我到目前为止所拥有的:
if($uac_check == "Owner" OR "Admin") {
echo "You have Access";
} else {
echo "No access for you!";
}
请问有人可以帮忙吗?
我想快速检查用户是否有权查看页面,因此我有一个函数,它在调用时简单地返回用户访问级别并将其转换为变量,但想知道如何编写if
语句。 ..
这是我到目前为止所拥有的:
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,除非它们为空、null 或 0。这可能会给您带来意想不到的结果。
请注意,我将运算符重写OR
为or
. 两者都有效,||
.
最后一点 - 您可以使测试更具体,以避免 PHP 中的“误解”。PHP 对类型非常松懈,所以当 1 字符和数字 1 不是同一个东西,0 和 false 也不相等时,它会告诉你"1" == 1
and是真的。0 == false
您可以通过使用===
运算符来避免此类错误,该运算符同时检查值和类型。这可能非常重要,尤其是对于某些可以返回 0 和 false 具有两种截然不同的含义的函数。它被称为identical
运算符。您可以在比较运算符页面上的 PHP 手册中阅读有关比较的更多信息。
我想你想要三元运算符。
$access = ($uac_check == "Owner" || $uac_check == "Admin") ? 'You have Access' : 'No access for you!';
echo $access;
像这样的东西
if($uac_check == "Owner" || $uac_check =="Admin") {
echo "You have Access";
} else {
echo "No access for you!";
}