is this a correct conditional?
This question already has an answer here:
You need to do every comparison completely, like this:
if($_SERVER['REQUEST_URI'] == 'index' || $_SERVER['REQUEST_URI'] == 'post' || $_SERVER['REQUEST_URI'] == 'about'){
// why this not work for me?
}
Since, what you're doing now, is comparing $_SERVER["REQUEST_URI"] to true :
var_dump("hello" || "index"); // bool(true)
So the comparison is always true, because you're using only two equal signs, which is a loose comparison. Had you used === , the result would be false because a string is not of the same type as a boolean .
Another way is to use an array and in_array() , which will check if a value is in the values of an array:
$values = ["index", "post", "about"];
if (in_array($_SERVER["REQUEST_URI"], $values)) {
In JS, you're effectively doing this:
if (miString == 'hello') {
That is to say that the logical OR operators will give you the first truthy value, which in this case is 'hello' , and so only that is used for the comparison.
JS doesn't have an operator shorthand for multiple comparisons. You can use multiple == operations, a switch statement, or some construct that searches items in a collection.
你会想要尝试这样的事情:
var miString = 'hello';
if(miString == 'hello' || miString == 'hola' || miString == 'ciao' || miString == 'merhaba'){
alert('Welcome');
}
链接地址: http://www.djcxy.com/p/27586.html
上一篇: 将一个数字传递给parseFloat()而不是字符串
下一篇: 这是一个正确的条件?
