如果存在两个cookie中的任何一个,那么在PHP中

时间:2015-01-27 17:16:39

标签: php if-statement cookies

我知道需要使用||&&,但我无法找到格式化的正确或最佳方式。

我的一个cookie代码:

if(isset($_COOKIE['mycookie'])) { 
 if($_COOKIE['mycookie']=="value1") { 
 // do some stuff 
   } 
 }

但是我想在这个例程中加入另一个cookie,其中任何一个都可以成为“东西”的工作。

我只是不确定如何格式化。是这样的吗?

 if(isset($_COOKIE['mycookie'] || ['mycookie2')) {
 if($_COOKIE['mycookie']=="value1" || $COOKIE['mycookie2']=="value2") { 
 // do some stuff 
   } 
 }

6 个答案:

答案 0 :(得分:2)

如果您愿意,可以在一个if语句中编写所有内容:

(isset()函数中的OR语句不起作用)

if ( (isset($_COOKIE['mycookie']) && $_COOKIE['mycookie'] == "value1") || (isset($_COOKIE['mycookie2']) && $_COOKIE['mycookie2'] == "value2") )

答案 1 :(得分:1)

您需要在函数外部执行||,以合并所有调用的结果。

if (isset($_COOKIE['mycookie']) || isset($_COOKIE['mycookie2'])) {
    // do some stuff
}

答案 2 :(得分:1)

它将是:

if (isset($_COOKIE['mycookie']) || isset($_COOKIE['mycookie2'])) {
   if ($_COOKIE['mycookie'] == "value1" || $_COOKIE['mycookie2'] == "value2") { 
     // do some stuff 
   } 
 }

甚至:

if ((isset($_COOKIE['mycookie']) || isset($_COOKIE['mycookie2') && ($_COOKIE['mycookie'] == "value1" || $_COOKIE['mycookie2'] == "value2")) { 
   // do some stuff 
 }

避免嵌套if

答案 3 :(得分:0)

您可以使用一个if条件而不是嵌套if。如果您需要验证两者

if(isset($_COOKIE['mycookie'], $_COOKIE['mycookie2']) && ($_COOKIE['mycookie'] == "value1" && $_COOKIE['mycookie2']=="value2")) {
    // do some stuff 
}

或者如果您必须验证其中一个

if((isset($_COOKIE['mycookie']) && $_COOKIE['mycookie']=="value1") || (isset($_COOKIE['mycookie2']) && $_COOKIE['mycookie2'] == "value2") ) {
    // do some stuff 
}

答案 4 :(得分:0)

试试这个

if((isset($_COOKIE['mycookie']) && $_COOKIE['mycookie']=="value1")
    || 9isset($_COOKIE['mycookie2']) && $_COOKIE['mycookie2'] =="value2" )) { 
 // do some stuff 

 }

答案 5 :(得分:0)

试试这个。它将所有要求放在一个if语句中:

if( (isset($_COOKIE['mycookie'] && $_COOKIE['mycookie']=="value1") || (isset($_COOKIE['mycookie2']) && $_COOKIE['mycookie2']=="value2") ) { 
    // do some stuff 
}