我有这样的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