如果存在两个cookie中的任何一个,请使用PHP执行操作
我知道需要使用如果存在两个cookie中的任何一个,请使用PHP执行操作,php,if-statement,cookies,Php,If Statement,Cookies,我知道需要使用|或&&,但我无法找到正确或最佳的格式 我的一个cookie代码: if(isset($_COOKIE['mycookie'])) { if($_COOKIE['mycookie']=="value1") { // do some stuff } } 但是我想在这个例程中加入另一个cookie,其中任何一个都可以是真的,这样“东西”才能工作 我只是不知道如何格式化这个。是这样的吗 if(isset($_COOKIE['mycookie'] || ['myco
|
或&&
,但我无法找到正确或最佳的格式
我的一个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
}
}
您需要在函数外部执行
|
,以合并所有调用的结果
if (isset($_COOKIE['mycookie']) || isset($_COOKIE['mycookie2'])) {
// do some stuff
}
您可以使用一个
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
}
试试这个
if((isset($_COOKIE['mycookie']) && $_COOKIE['mycookie']=="value1")
|| 9isset($_COOKIE['mycookie2']) && $_COOKIE['mycookie2'] =="value2" )) {
// do some stuff
}
如果您希望这样,可以在一个if语句中编写所有内容: (isset()函数中的OR语句不起作用) 它将是:
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
语句中:
if( (isset($_COOKIE['mycookie'] && $_COOKIE['mycookie']=="value1") || (isset($_COOKIE['mycookie2']) && $_COOKIE['mycookie2']=="value2") ) {
// do some stuff
}
不,如果mycokie存在但不是value1,而mycokie2不存在,则可能会出现警告。尝试类似于,if((isset($\u COOKIE['mycookie'])&$\u COOKIE['mycookie']==“value1”)| |(isset($\u COOKIE['mycookie2'])&$\u COOKIE['mycookie2']==“value2”){}
。如果尝试第二段代码,您会发现它会导致语法错误(至少因为方括号不匹配,也因为方括号本身创建了一个新数组,而不是访问一个现有数组)。通常,查看某个数组是否有效的最佳方法是尝试它-这里通常会给出建议!$COOKIE
缺少下划线。第二个数组失败的部分原因。
if( (isset($_COOKIE['mycookie'] && $_COOKIE['mycookie']=="value1") || (isset($_COOKIE['mycookie2']) && $_COOKIE['mycookie2']=="value2") ) {
// do some stuff
}