首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP如果变量肯定是值或值,那么

PHP如果变量肯定是值或值,那么
EN

Stack Overflow用户
提问于 2013-09-22 07:20:45
回答 3查看 6.4K关注 0票数 0

我想做一个快速检查,看看用户是否有权限查看页面,所以我有一个函数,它在调用时只返回用户访问级别,并将其转换为变量,但我想知道如何编写if语句.

到目前为止,这就是我所拥有的:

代码语言:javascript
运行
复制
if($uac_check == "Owner" OR "Admin") {

    echo "You have Access";

} else {

    echo "No access for you!";

}

有人能帮忙吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-22 07:21:54

您需要再次测试$uac_check的值。

代码语言:javascript
运行
复制
if($uac_check == "Owner" or $uac_check == "Admin") {

orand这样的布尔运算符需要在它们的两边都有一个布尔值。当您有一个像$uac_check == "Owner“这样的表达式时,它的计算值为真值或假值,也称为”布尔值“。你在另一边有$uac_check。当转换为布尔值时,大多数变量将计算为true,除非它们是空的、null或0。这可能会给你带来你意想不到的结果。

请注意,我将OR操作符重写为or。两者都是有效的,||也是有效的。

最后一个注意事项--您可以使测试更加具体,以避免PHP中的“误解”。PHP在类型方面非常松懈,所以它会告诉您,当1字符和数字1不是同一件事时,"1" == 10 == false是真的,并且0和false相等。您可以通过使用===操作符来避免这样的错误,该操作符检查值和类型。这可能是非常重要的,特别是对于某些函数,这些函数可以返回0和false,具有两个非常不同的含义。它被称为identical操作符。您可以在比较算子页面的PHP手册中阅读更多有关比较的内容。

票数 9
EN

Stack Overflow用户

发布于 2013-09-22 07:23:10

我想你想要三元算子

代码语言:javascript
运行
复制
$access = ($uac_check == "Owner" || $uac_check == "Admin") ? 'You have Access' : 'No access for you!';
echo $access;
票数 4
EN

Stack Overflow用户

发布于 2013-09-22 07:22:48

就像这样

代码语言:javascript
运行
复制
if($uac_check == "Owner" || $uac_check =="Admin") {

    echo "You have Access";

} else {

    echo "No access for you!";

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18941350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档