PHP多个If条件为true


PHP multiple If conditions are true

我有这样的PHP代码:

$supplier = $line[2];
if ($supplier == "supplier")
{
} else {
Header("Location: premium.php");
}

现在,我希望在PHP代码中包含$supplier=="demo",如下所示:

$supplier = $line[2];
if ($supplier == "supplier" && $supplier == "demo")
{
} else {
Header("Location: premium.php");
}

但后一个代码也不适用。。。我的意思是,如果$supplier等于除"supplier"或"demo"之外的其他东西,它仍然会绕过它。它只适用于第一个。

我该怎么安排?

if ($supplier == "supplier" && $supplier == "demo")

毫无意义。$supplier不可能在条件语句的中间发生更改,因此这永远不会是真的。您可能正在查找||(或)。

if ($supplier == "supplier" && $supplier == "demo")

永远不可能是真的,因为$supplier永远不可能同时存在。你需要一个这样的OR:

if ($supplier == "supplier" || $supplier == "demo")

正如其他人所提到的,一定要抓住这个机会来理解&&||的含义,但如果"或"确实是你想要的逻辑,在这种情况下,我建议这样做:

if ( in_array( $supplier, array( "supplier", "demo" ) ) )

"&&"表示:两个连接语句都必须为true!"||"的意思是:其中一个语句必须为真!

你的构造没有意义,因为你说$supplier必须是"demo"answers"supplier",这永远不可能是真的,因为$var只能有一个值。

错误:

if ($supplier == "supplier" && $supplier == "demo") // AND would also work

右:

if ($supplier == "supplier" || $supplier == "demo") // OR would also work