如果页面与我声明的页面相同,我已经编写了一个使菜单滚动的功能。
该功能如下所示
function menu_current()
{
$current = basename($_SERVER['REQUEST_URI']);
if ($current === "index?p=config" || "index?p=maintenance")
echo "class=\"nav-top-item suballowed current\" ";
else
echo "class=\"nav-top-item suballowed\" ";
}
如果我只宣布1页
,那就完美了if ($current === "index?p=config")
但不是更多。如何解决这个问题?有没有办法declare
||
个variable
之间的所有网站,而不是像我一样写它们?
答案 0 :(得分:4)
替换此
if ($current === "index?p=config" || "index?p=maintenance")
与
if ($current === "index?p=config" || $current === "index?p=maintenance")
否则PHP不知道什么应该等于index?p=maintenance
答案 1 :(得分:1)
如果每次都设置相等性检查的两面,则可以使用您的方法:
if ($current === "index?p=config" || $current === "index?p=maintenance") { ...
也许是一个更“可读”的解决方案:
if (in_array($current, array( 'index?p=config', 'index?p=maintenance' )) { ...
答案 2 :(得分:1)
另一个选择是使用带有默认值的switch语句。
function menu_current()
{
$current = basename($_SERVER['REQUEST_URI']);
switch($current) {
case "index?p=config":
case "index?p=maintenance":
echo "class=\"nav-top-item suballowed current\" ";
break;
default:
echo "class=\"nav-top-item suballowed\" ";
}
}
答案 3 :(得分:0)
这是正确的代码
function menu_current()
{
$current = basename($_SERVER['REQUEST_URI']);
if ($current == "index?p=config" || $current == "index?p=maintenance")
echo "class=\"nav-top-item suballowed current\" ";
else
echo "class=\"nav-top-item suballowed\" ";
}