我已经编写了一个函数,如果页面与我声明的页面相同,则可以使菜单向下滚动。
功能看起来像这个
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")
但不是更多。如何解决这个问题?有没有一种方法可以在一个variable
中的||
标签之间declare
所有网站,而不是像我那样写它们?
更换此
if ($current === "index?p=config" || "index?p=maintenance")
带有
if ($current === "index?p=config" || $current === "index?p=maintenance")
否则PHP不知道什么应该等于index?p=maintenance
如果每次都设置相等检查的两侧,则可以使用您的方法:
if ($current === "index?p=config" || $current === "index?p=maintenance") { ...
也许是一个更"可读"的解决方案:
if (in_array($current, array( 'index?p=config', 'index?p=maintenance' )) { ...
另一个选项是使用带有默认值的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'" ";
}
}
这是正确的代码
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'" ";
}