这是一个正确的条件?
这个问题在这里已经有了答案:
你需要完成所有的比较,像这样:
if($_SERVER['REQUEST_URI'] == 'index' || $_SERVER['REQUEST_URI'] == 'post' || $_SERVER['REQUEST_URI'] == 'about'){
// why this not work for me?
}
因为,你现在正在做的是比较$_SERVER["REQUEST_URI"]
为true
:
var_dump("hello" || "index"); // bool(true)
所以比较总是如此,因为你只用了两个等号,这是一个宽松的比较。 如果你使用===
,结果将是错误的,因为一个string
与boolean
类型不同。
另一种方法是使用数组和in_array()
,它将检查值是否在数组的值中:
$values = ["index", "post", "about"];
if (in_array($_SERVER["REQUEST_URI"], $values)) {
在JS中,你实际上是这样做的:
if (miString == 'hello') {
也就是说,逻辑OR运算符会给你第一个真值,在这种情况下,这个真值是'hello'
,所以只用于比较。
JS没有多个比较的运算符缩写。 您可以使用多个==
操作,一个switch
语句或一些搜索集合中项目的构造。
你会想要尝试这样的事情:
var miString = 'hello';
if(miString == 'hello' || miString == 'hola' || miString == 'ciao' || miString == 'merhaba'){
alert('Welcome');
}
链接地址: http://www.djcxy.com/p/27585.html
上一篇: is this a correct conditional?
下一篇: Which is a better way to know the type of a variable in Java Script